问题标签 [rfc3339]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - golang RFC3339Nano 时间戳可以可靠地转换为 Unix 时间戳吗?
在我的 golang 应用程序中,我使用 Unix 秒分辨率时间戳(使用 生成time.Now().UTC().Unix()
)作为用于请求身份验证的哈希函数中盐的一部分。
希望将此时间戳存储在数据存储中,其中约定是由 golang RFC3339Nano 函数生成的 RFC3339 纳秒分辨率时间戳字符串,以及用于身份验证的哈希。
问题:如果哈希需要稍后重新验证,是否存在无法将 RFC3339Nano 完全反转为原始 Unix 时间戳的风险?
我知道闰秒存在一些适用于 Unix 时间戳的问题。是否有可能通过 RFC3339Nano 往返会导致不同的时间戳,从而错误地使签名无效?
RFC3339Nano 时间戳和 Unix 时间戳是从同一个 time.Time 结构中生成的。
我倾向于认为它会起作用,因为闰秒在它们发生之日产生了额外的 61 秒,我希望它会映射回与前一秒相同的 Unix 时间戳。反过来显然会失败。
java - 如何将 RFC 3339 日期字符串解析为 ZondeDateTime?
问题:
我应该解析一个RFC3339日期字符串。它适用于ISO_ZONED_DATE_TIME:
假设我将解决 Unknown Local Offset Convention 的问题,只是为了不接受这些日期。但是我仍然对一些像这样的极端情况有疑问:
这代表 1990 年底插入的闰秒。
这代表太平洋标准时间的相同闰秒,
比 UTC 晚 8 小时。"1990-12-31T15:59:60-08:00"
问题:
- 我怎样才能解析它避免失去任何秒?
更新:
- 是否存在适合 RFC3339 的 ZonedDateTime 替代方案?
go - 在 Linux 和 macOS 上 Go 中 RFC3339 的时间格式化结果不同
我运行了以下代码。
那么Linux上的结果是
在 macOS 上是
它是相同的时间,但格式化的结果是不同的。你知道原因吗?
java - 如何使用杰克逊来解析 RFC3339 时间戳与可变数量的秒小数
我正在尝试使用 Jackson 以 JSON 字符串解析 RFC3339 格式的时间戳。如何在秒后允许可变的小数位数?
对于 JSON 文件
我已经用类反序列化了它
并ObjectMapper
使用 JavaTimeModule:
这工作正常。但是,它也应该适用于"timestamp": "2019-07-02T13:00:34+02:00"
and "timestamp": "2019-07-02T13:00:34.090909090+02:00"
。我发现这个答案显示了如何用 a 解析这些字符串DateTimeFormatter
,但据我所知,@JsonFormat
它只需要一个SimpleDateFormat
字符串,它不支持可变数量的第二个小数。
一起删除pattern
-property,因此注释变为
允许我解析传入的日期,但也接受非 RFC3339 时间戳1990-01-01T12:53:01-0110
(在时区中缺少冒号)。
java - 解析 RFC 3339 日期时间时未考虑区域调整
(从CodeReview迁移而来)
我正在试验并试图更好地理解 Java Time。我的代码没有按预期工作,我想问一下原因,可能是因为我对 JSR-310 时区处理存在误解。
我有一个时间戳字符串来解析DateTimeFormatter
上面的值是在服务器的本地时间是中欧上午 10:39 时生成的。由于夏令时区,UTC 时间是早上 8:39。您可以自己计算一下您所在区域的时间。
当计算机的时区与时间戳(+2)中显示的时区相同时,以下测试有效
我试图修改输入字符串以更好地理解 Java Time 如何调整时区。但结果出乎意料的错误!
我试图反复更改输入字符串中的时区,以使测试失败。例如,如果我将字符串更改为2019-08-28T10:39:57+08:00
它意味着它是巴黎的凌晨 2 点。但是在检查一天中的时间时,上面的测试代码继续通过。即导致LocalDateTime
一天中的时间仍然是上午 10 点。
问题
为什么我的代码仍然返回 10 作为一天中的本地时间,而不管我在源字符串中不断更改其时区这一事实?
那么解析 RFC 3339 字符串(表示嵌入偏移中的瞬间)并将其转换LocalDateTime
为可能的区域调整对象的正确方法是什么?假设机器在 CE[S]T 时区运行。
环境
我需要将时间戳与计算机时间进行比较,并检查它是否不太旧。这意味着如果在欧洲评估美国时间,它可能不会“太旧”。
api - 表示 API 响应中不同事件的时间和类型
我有一个“事件”,我试图在 API 响应中表示。处理日期和时间的最佳实践(最符合 rfc3339?)方法是什么?
选项包括全天事件(单日)、多日事件(可能有也可能没有开始和结束时间)、没有开始时间的事件、只有开始时间的单日事件、单日事件与开始和结束时间。
我的出发点是这样的:
我想知道我是否应该考虑拥有datetime
领域(或代替)。还有其他标准/考虑因素。
此外,这也在 GraphQL 中实现(不确定它是否重要,但如果确实如此,则需要考虑)。
c# - ParseExact 无法解析 RFC 3339 Internet 日期/时间格式的字符串
似乎 C# 无法以有效的 RFC 3339 格式解析时间:
此行引发异常,而此行工作正常:
所以似乎毫秒有限制,但我找不到任何相关文档。这是应该的吗?
想要解析这个日期的原因是我有一个输入日期字段。我们使用 OAS (Swagger)date-time
格式,它非常清楚地表明 RFC 3339 Internet 日期/时间格式中的任何日期都应该是有效的。现在从这里的规范第 5.6 节
据我了解,这意味着应该允许最多 9 位数字并且要 100% 兼容,我们必须允许这些输入,但 C# 似乎甚至不支持这一点。
关于如何解决它的任何想法?
influxdb - 如何以 RFC3339 格式打印纪元格式的 InfluxDB 时间戳
我想通过 CLI 以 RFC3339 格式读取我的 InfluxDB 测量值以进行调试,但由于已经有一个处理读/写操作的 API,我不想弄乱它们存储的实际格式(Unix 纪元纳秒) .
如果我按照此处的建议发出“influx -precision rfc3339” ,它还会影响时间戳存储在数据库中的格式,还是仅影响它们在终端中打印的格式?我只想要后者。
java - 如何计算现在与 Android Studio 中的 RFC3339 时间戳之间的差异?
我正在通过带有 JSON 对象的服务器在我的应用程序中导入一些传感器数据。它们包含上次测量的值和时间。
时间以RFC3339格式作为字符串发送,例如2020-06-19T15:32:25.528Z
.
现在,我不想显示上次测量的时间,而是想显示现在和测量之间的时间差。
搜索我发现既不是将 RFC3339 时间戳字符串解析为可编辑格式的好解决方案,也没有找到计算与现在的差异的方法。我唯一看到的是这篇文章,但无法在我的应用程序中导入datetime -class。
有人可以帮忙吗?