将天、小时和分钟转换为 UTC - node.js
Posted
技术标签:
【中文标题】将天、小时和分钟转换为 UTC - node.js【英文标题】:Convert day, hour and minute to UTC - node.js 【发布时间】:2017-12-16 16:15:30 【问题描述】:我会从用户那里获得时间输入来安排任务。选项如下,
星期几、小时和分钟(或) 月份中的日期、小时和分钟(或) 一年中的月份、小时和分钟(或)用户可以在任何时区。我已经对我的数据库表进行了建模,以将用户输入存储为配置。 在我的表中,我将计算 next_run_at 并填充它,以便 poller 可以根据它找到要运行的作业并执行。
要与时区无关,我的 next_run_at 应该是 UTC。 有没有办法单独在UTC中转换上述配置(天,小时,分钟)并存储它?
TL;DR 我知道我们可以将日期转换为特定时区。有没有办法单独将天、小时和分钟的组合转换为 UTC?
【问题讨论】:
我觉得momentjs在这里很有用。 【参考方案1】:根据您拥有的日期、小时和分钟构造一个日期。将其转换为 UTC 并返回日期、小时和月份值。
但我认为关于这一天对应的月份会有一些极端情况。
23:00 28th Feb PST
将是06:00 1st Mar UTC
;
23:00 28th Mar PST
将是 06:00 29th Mar UTC
【讨论】:
【参考方案2】:你问:
有没有办法单独将天、小时和分钟的组合转换为 UTC?
不,没有通用的方法可以做到这一点。您必须有完整的日期和时间,包括年、月、日、小时和分钟。否则,您无法确定夏令时是否生效,或者标准时间是否已更改。
您将不得不假设一些您没有的数据。例如,您可以假设数据与“现在”相关。请理解,根据您运行代码的时间,您会得到不同的结果。
当然,如果所讨论的时区只有一个固定偏移量,例如亚利桑那州被固定为 UTC-7,则这不适用。只是你不能在世界任何时区的一般情况下假设这一点。
【讨论】:
以上是关于将天、小时和分钟转换为 UTC - node.js的主要内容,如果未能解决你的问题,请参考以下文章