问题标签 [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.

0 投票
1 回答
62 浏览

c# - 如何在c#中添加Rfc3339日期时间字符串以增加一秒

我有这个日期时间字符串 2020-06-30T20:59:59.415Z。现在我必须为这个日期时间字符串添加 1 秒。我将其转换为日期时间,此日期时间转换为其他格式,日期时间转换为其他日期时间。所以请解释一下,我可以加一秒钟

所需格式 yyyy-MM-dd'T'HH:mm:ssZ

谢谢,KD

0 投票
1 回答
999 浏览

python - 如何验证字符串是 RFC3339 格式的时间?

我有以下字符串'2012-10-09T19:00:55Z',我想验证它的RFC3339时间格式。

一种(错误的)方法是执行以下操作:

这里的问题是,这会返回一个非时区感知对象,如此处所指出

知道如何实现这一目标吗?

0 投票
1 回答
79 浏览

python - 两种时间格式有什么区别?

我的目标是使用单一字符串时间格式(UTC)。

我从两个字符串时间戳开始:

当我断言它们是否都是 rfc3339 格式时,它们都通过了:

这是为什么?

tf1和 和有什么不一样tf2

更一般地说,我在这里的断言有什么问题?

0 投票
1 回答
870 浏览

java - 将分区时间戳转换为 com.google.protobuf.Timestamp

在我使用 Swagger 创建的自定义 API 中,我需要输入时间戳。

在我的 YAML 文件中,我定义了输入参数的格式,date-time如 Swagger 网页日期时间中所述 - RFC 3339 第 5.6 节定义的日期时间表示法,例如 2017-07-21T17:32:28Z

我想将生成的分区时间戳转换为,com.google.protobuf.Timestamp但我不知道该怎么做,需要帮助。我正在使用科特林。

到目前为止,我已经尝试从 StackOverflow 实现一些 Java 示例(在转换为 Kotlin 之后),例如:

这些示例似乎都不起作用,因为我需要com.google.protobuf.Timestamp格式的输入参数,而上面的示例没有产生。

关于如何转换时间戳的任何帮助将不胜感激。

0 投票
2 回答
268 浏览

rfc3339 - RFC3339 字符串中的有效日期时间分隔符是什么?

对于RFC3339 标准中允许的时间分隔符/指示符,我感到非常困惑。时间分隔符是指在日期和时间之间划定界限的字符序列。

该标准在第 5.6 节中陈述了不清楚或相互矛盾的不同事物。首先,它说完整日期时间的生产规则是这样的:

这意味着日期和时间之间的分隔符是大写的T。紧随其后的是:

意思是大写T 可能是小写t。它与 ABNF 冲突,但好吧,在我看来,它仍然在合理的范围内。然后声明如下

这非常令人困惑。这是否不仅允许空格字符,还允许任何内容?这就是这say意味着什么。还是this syntax参考 ISO8601 并不必要地描述了其他标准的细节?

换句话说,以下是有效的 RFC3339 字符串吗?

  • 2020-09-07 20:26:03.623359300+02:00
  • 2020-09-07hey johnny20:26:03.623359300+02:00
  • 2020-09-0720:26:03.623359300+02:00
0 投票
1 回答
116 浏览

postgresql - 使用 T 分隔日期和时间是否与 RFC3339 不一致?

在 Postgres 中日期/时间类型的文档中,它说:

ISO 8601 指定使用大写字母 T 来分隔日期和时间。PostgreSQL 在输入时接受该格式,但在输出时它使用空格而不是 T,如上所示。这是为了可读性和与 RFC 3339 以及其他一些数据库系统的一致性。

但是,我在RFC3339中找不到该部分。有谁能够帮我?

0 投票
1 回答
261 浏览

timezone - Google Calendar API 事件列表时区问题

自上周中旬以来,我目睹了有关上限和下限的事件列表查询参数的问题越来越多。从周末开始,它根本不再工作。

问题摘要: 事件列表查询参数中不再接受正时区偏移以获取时间界限。

API调用:

带有查询参数:?timeMin=2020-12-01T09:31:04+0100

直到 11 月 25 日左右的预期行为和行为,在某些服务器上直到 11 月 27 日:

实际行为/响应主体:

更多细节: 显然,“错误请求”响应仅由时区偏移前的加号 (+) 引起。将上述请求中的“+”更改为“-”将按预期返回有效响应,只是偏移量错误(在这种情况下应该是两个小时)。写入带有或不带有“:”的偏移量(例如 +01:00 与 +0100)不会影响结果。

很可能我错过了诸如正时区偏移折旧之类的东西,或者我无论如何都使用了错误的时间格式,因为我承认我不是 RFC3339 的专家。

另一种选择是谷歌日历团队在他们的日历 API 中更新了他们的解析器,并在此之后部署了一个错误。在这种情况下,应将测试用例添加到管道中,以测试包括限制在内的多个时区偏移量。

我很乐意收到有关如何优雅地选择 UTC 以东时区的建议。提前非常感谢!

0 投票
0 回答
172 浏览

c++ - RFC3339 和 UTC/Zulu 字符串到整数 C++

我正在为嵌入式 ARM 设备编写 C+ 应用程序。

我的应用程序接收格式为 RFC3339 和 UTC/Zulu 的日期和时间字符串。例如"2020-12-14T23:18:13Z"

我需要以秒为单位获取时间,将其与当前时间(以秒为单位)进行比较,如果这些时间之间的差异大于 8 秒,则采取行动。

我已经包含了一个第三方头文件来帮助,date.h从这里:https ://howardhinnant.github.io/date/date.html

我不得不说我仍在努力从日期和时间字符串中正确获取秒数并进行比较。在我的情况下它总是为零。到目前为止,这是我一直在尝试的:

任何帮助是极大的赞赏。

0 投票
1 回答
99 浏览

python - 如何在 Python 中解释一年前的 RFC 3339 日期时间字符串?

我正在与一个 API 交互,该 API 提供原始 RFC 3339 日期时间字符串来表示用户生日。自然,我想将其解释为某种datetime对象 - 但是,pythondatetime库不支持值小于 1 的日期时间字符串。

这是 API 给出的示例日期时间字符串:(0000-09-01T00:00:00-00:00注意年份设置为0000)。如果我只是把datetime.fromisoformat它扔进 ,不出所料地会引发一个错误:

如果我要完全删除字符串的年份部分,它会给出以下内容:

起初,我认为这是一个错误或限制。但经过一番研究,我发现RFC3339 标准在其介绍中声明了以下内容:

假定所有日期和时间都在“当前时代”,介于公元 0000 年和公元 9999 年之间。

假设这个范围是包容性的(这是基于标准中“介于”一词的其他用法,尽管从未严格指定),暗示 datetime 模块不符合 RFC3339 标准,因为它是硬编码的最小和最大年份值,并使其成为必需值。但是,它从未声称它确实符合标准。所以新的问题是,如果包含的库不支持 RFC3339,那是什么?

我的问题是:有没有一种方法可以将此字符串解释为某种日期时间对象或使用第三方库?

0 投票
2 回答
254 浏览

java - 使用 BeanIO 解析 RFC3339 日期字符串 'ss.SSSXX'

我正在尝试解析这样的字符串日期:2021-03-19T13:08:32.58600在我的模板中使用 BeanIO:

<field name="updatedAt" typeHandler="dateTypeHandler" format="yyyy-MM-dd'T'HH:mm:SSSXX"/>

我得到了Invalid date错误。

我用 SimpleDateFormat 测试了一些案例,例如,如果我做这样的事情: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(text)它可以工作。

问题出在DateTypeHandlerSupport课堂上,方法 parse 验证长度:

有什么方法可以在不创建自己的 DateTypeHandler 的情况下解析字符串?