将 INT 中的日期转换为 Google Calendar API 的 CreateEvent 的 DateTime
Posted
技术标签:
【中文标题】将 INT 中的日期转换为 Google Calendar API 的 CreateEvent 的 DateTime【英文标题】:Convert date in INT to DateTime for CreateEvent of Google Calendar API 【发布时间】:2021-03-29 17:20:44 【问题描述】:日历 API CreateEvent Event created 响应有一个名为 end_time 的参数,它返回一个整数,知道如何将此整数转换为日期时间吗?
如果您在 BigQuery SQL 方面帮助我,我们将不胜感激
其中一个值是,例如:63714621600
将其写入数据库后,我试图在 BigQuery 中查询它,但它没有给我正确的 date_time SELECT TIMESTAMP_MICROS(CAST(end_time AS INT64)*1000) FROM xxxx.xxxx.Calendar
但它给了我一个 1972 年的日期时间.
谢谢。
【问题讨论】:
试试epochconverter.com 你能提供一些数据中值的其他例子吗? 选择时间,start_time,end_time从xxx.TestData.Calendar
limit 10行时间start_time end_time 1 2020-08-10t04:05:34.475z 63732758400 637327620002:50:50:50:50:50.965z 63705922200 63705925800 63705925800 6370592000 3 2019-10-05T02:50:50.965/6370592200 6370592200 6 2019-10-04T21:54:54:54:44.8466 2019-10-04T21 63705922200 6370592200 6370592200 6 2019-10-04T21:54:44.846Z 63705922200 63705922200 63705922200 63705922200 63705922200 6 2019-10-04T21:54:44.846Z 63705922200 63705925800 7 2019-10-04T21:54:44.846Z 63705922200 63705925800 8 2020-10-16T15:16:50.748Z 63738898200 63738900000s
@DaImTo 显然不是时代。例如,尝试 63705922200。谢谢
【参考方案1】:
也许这些是自 0001-01-01 AD 以来的秒数:
SELECT TIMESTAMP_ADD(TIMESTAMP '0001-01-01 00:00:00', INTERVAL 63732758400 SECOND)
【讨论】:
几乎!它在事件发生一天后返回。 2021-03-03 16:30:00 UTC 而不是 2021-03-02 16:30:00 UTC 谢谢 我用 SELECT TIMESTAMP_ADD(TIMESTAMP '0001-01-01 00:00:00', INTERVAL 63732758400 - 86400 SECOND) 更正了它,不优雅,但很实用以上是关于将 INT 中的日期转换为 Google Calendar API 的 CreateEvent 的 DateTime的主要内容,如果未能解决你的问题,请参考以下文章
如何将 YYYYMMDD 格式(int)的日期转换为配置单元中的日期时间格式?
将不同单元格中具有两个日期的数据集转换为系列或序列(Google 工作表)
通过 google BigQuery 将 unsigned int 转换为 signed int
为什么传递给GregorianCalendar(int year,int month,int day)构造函数的参数会产生“整数过大”错误? [重复]