Javascript 从一个时区到格林尼治标准时间的一天开始

Javascript 从一个时区到格林尼治标准时间的一天开始,javascript,momentjs,Javascript,Momentjs,我正在使用矩时区库构建一个需要与各种时区相关的UI 我正在输入一个时区,即“America/Chicago”,需要以格林尼治标准时间开始一天 例如,如果今天是芝加哥时间3月27日上午9点(格林威治标准时间下午2点),我需要以纪元秒为单位获取3月27日上午00:00的日期 我使用的是moment.tz(“美国/芝加哥”).startOf('day'),但我一直得到2018年3月27日星期二01:00:00 GMT-0400(EDT)。你知道怎么做吗 谢谢 我需要以秒为单位得到日期 还要注意,正确的

我正在使用矩时区库构建一个需要与各种时区相关的UI

我正在输入一个时区,即“America/Chicago”,需要以格林尼治标准时间开始一天

例如,如果今天是芝加哥时间3月27日上午9点(格林威治标准时间下午2点),我需要以纪元秒为单位获取3月27日上午00:00的日期

我使用的是
moment.tz(“美国/芝加哥”).startOf('day')
,但我一直得到
2018年3月27日星期二01:00:00 GMT-0400(EDT)
。你知道怎么做吗

谢谢

我需要以秒为单位得到日期

还要注意,正确的术语是“Unix时间”,而不是“历元秒”。
请参阅我的博客帖子:

。。。但我一直得到2018年3月27日星期二01:00:00 GMT-0400(EDT)

您可能正在查看
\u d
日期
对象,或者更确切地说是一个对象的字符串表示形式。不要。有关详细信息,请参阅

根据您的评论:

我需要在特定的时区中使用当前时间。然后,我需要将该时间转换为相应的GMT日期。最后,我需要获得该GMT日期的午夜纪元时间戳

这和你最初问的有点不同,但会是这样的:

var timestamp = moment.utc().startOf('day').unix();
请注意,此操作不涉及其他时区。逻辑上,当要求“现在在时区A转换为时区B”时,与要求“现在在时区B”相同。换句话说,即使存在时区,您也会得到相同的值:

var timestamp = moment.tz('America/Chicago').utc().startOf('day').unix();
所以你最好把时区排除在外

我需要以秒为单位得到日期

还要注意,正确的术语是“Unix时间”,而不是“历元秒”。
请参阅我的博客帖子:

。。。但我一直得到2018年3月27日星期二01:00:00 GMT-0400(EDT)

您可能正在查看
\u d
日期
对象,或者更确切地说是一个对象的字符串表示形式。不要。有关详细信息,请参阅

根据您的评论:

我需要在特定的时区中使用当前时间。然后,我需要将该时间转换为相应的GMT日期。最后,我需要获得该GMT日期的午夜纪元时间戳

这和你最初问的有点不同,但会是这样的:

var timestamp = moment.utc().startOf('day').unix();
请注意,此操作不涉及其他时区。逻辑上,当要求“现在在时区A转换为时区B”时,与要求“现在在时区B”相同。换句话说,即使存在时区,您也会得到相同的值:

var timestamp = moment.tz('America/Chicago').utc().startOf('day').unix();

因此,最好不要使用时区。

对于堆栈溢出,您应该尝试自己编写代码。如果您遇到问题,您可以发布您尝试过的内容,清楚地解释哪些内容不起作用,并在问题本身中提供一个解决方案。在堆栈溢出时,您应该尝试自己编写代码。如果你有问题,你可以发布你尝试过的内容,清楚地解释什么不起作用,并在问题本身中提供答案。啊,我太接近了!非常感谢。啊,我是如此接近!非常感谢。