在Javascript / NodeJS返回当前date调整为时区,然后查找上午6时UTC用户的时间等效
对不起,如果标题有点复杂。 在NodeJS
/ Javascript
我用时间把自己的头NodeJS
了地板上。 我可以像这样获取当前UTC时间:
var currentTime = Date.now();
我可以得到当前的时间,例如,在这样的-3
时区的用户:
var offsetTime = Date.now() + (numTimeZone * 3600000);
但是,如何获取本地用户的时间,例如早晨6点,转换为UTC?
实际应用 :
我想要做的是创build一个自动发邮件,在当地时间早上6点向用户发送电子邮件。 我的服务器在一个时区,他们将在另一个时区,所以我试图与UTC标准化,所以每一分钟我可以设置我的服务器来检查currentUTC
时间,然后检查用户的上午6时间转换为UTC( local6am
),如果currentUTC > local6am
那么应该发送一封电子邮件。
什么是达到这个目的的最好方法? 如果可能,最好不使用库。
Utc到本地
moment.utc('2014-02-19 05:24:32 AM').toDate();
本地到utc
阅读本文档 。
MomentJS将dateparsing为区域date时间。 如果没有时间,那就是午夜。
然后,将其转换为UTC,因此会根据当地时间向前或向后移动。 如果你在UTC + N,那么你会得到以前的date。
moment(new Date('02-19-2014')).utc().format("YYYY-MM-DD HH:mm").toString() moment(new Date('02-19-2014 12:00')).utc().format("YYYY-MM-DD HH:mm").toString()
(要么)
你可以试试这个:
moment.utc('07-18-2013', 'MM-DD-YYYY') moment.utc('07-18-2013', 'MM-DD-YYYY').format('YYYY-MM-DD')
你不需要显式地调用toString
。