在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