Javascript MomentJS从日期字符串解析午夜本地

Javascript MomentJS从日期字符串解析午夜本地,javascript,node.js,date,timezone,momentjs,Javascript,Node.js,Date,Timezone,Momentjs,我有一个API调用,它接收一个日期字符串,如2016-2-12/('YYY-MM-DD') 我使用的是瞬间时区,但没有任何运气 最终目标是获取适用站点(而非服务器)时区2016-2-12午夜的unix时间戳 我尝试了很多组合,比如: moment.tz('2016-2-12','America/New York').utc() 但它似乎接收到UTC的输入日期(我的服务器设置为UTC),然后在之后进行时区转换,为我提供前一天的日期 作为参考,我正在生成一个日期范围的报告。因此,如果输入为: &st

我有一个API调用,它接收一个日期字符串,如2016-2-12/('YYY-MM-DD')

我使用的是瞬间时区,但没有任何运气

最终目标是获取适用站点(而非服务器)时区2016-2-12午夜的unix时间戳

我尝试了很多组合,比如:

moment.tz('2016-2-12','America/New York').utc()

但它似乎接收到UTC的输入日期(我的服务器设置为UTC),然后在之后进行时区转换,为我提供前一天的日期

作为参考,我正在生成一个日期范围的报告。因此,如果输入为:

&start=2016-4-12&stop=2016-4-15//时区为美国/纽约

我预计开始时间是2016-4-12T00:00:00-04:00
,但我总是以前一天的日期结束

我希望函数类似于:


time.tz('2016-2-12','YYYY-MM-DD','America/New York').startOf('day').utc()

我一问这个问题,经过几个小时的胡闹,我就明白了

moment.tz('2016-4-14','YYYY-MM-DD','America/New York')。格式()

正在产生
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时间戳,那么我认为您的API也应该接受时区。CMIIWI猜测“适用站点的时区”意味着您希望字符串被视为本地字符串(因为它没有时区,根据ISO 8601,但不是ECMAScript 2015),那么这是许多其他问题的重复,例如,没有矩.js标记。只有当您知道主机的名称时,这才有帮助。仅将其解析为本地要简单得多(请参阅)。