我有一个API调用,它接收一个日期字符串,如2016-2-12//('YYY-MM-DD')。
我使用的是即时时区,但运气不好。
最终目标是获得适用站点(而非服务器)时区的unix时间戳(2016-2-12午夜)
我尝试了很多类似的组合:
moment.tz('2016-2-12', 'America/New York').utc();
但它似乎接收到UTC的输入日期(我的服务器设置为UTC),然后在AFTER进行时区转换,给我一个前一天的日期。
为了参考,我正在生成一个日期范围的报告。因此,如果输入是:
&start=2016-4-12&stop=2016-4-15 //and the timezone is America/New York
我预计2016-4-12T00:00:00 -04:00
的开始时间,但我总是用前一天的日期结束。
我希望函数是这样的:
moment.tz('2016-2-12', 'YYYY-MM-DD', 'America/New York').startOf('day').utc();
我一问这个问题,经过几个小时的努力,我就明白了。
moment.tz('2016-4-14', 'YYYY-MM-DD', 'America/New York').format();
正在生成2016-04-14T00:00:00-04:00
很抱歉在这里浪费时间。。。我希望其他人觉得这很有帮助。。。
moment.tz('2016-4-14', 'YYYY-MM-DD', 'America/New York').endOf('day').format();
也产生了2016-04-14T23:59:59-04:00
,我可以使用utc()
轻松获得unix时间戳