javascript - moment.js timezone 获取毫秒

标签 javascript node.js momentjs

我正在尝试获取过去的天数。我正在为日期存储纪元(毫秒)。 我正在以毫秒为单位从数据库中读取 startDate(第一条记录的日期值),我想在指定时区中找到当前纪元。

我试过这个:

var startDate = rows[0]['MIN_DATE'];
var endDate = moment().tz("America/New_York");

然后为了计算差异,我使用了:

var oneDay = 24 * 60 * 60 * 1000;
var daysCount = Math.ceil((endDate - startDate) / (oneDay));

开始日期的值为:

1522821600000 which is: Wednesday, April 4, 2018 2:00:00 AM GMT-04:00 DST

endDate 的值为:

Moment_d: Wed Apr 04 2018 22:24:45 GMT-0400 (EDT)_isAMomentObject: true_isUTC: true_isValid: true_locale: Locale_offset: -240_pf: Object_z: Zone__proto__: Object

daysCount的值为2,怎么办? 我怎样才能从以下位置获取毫秒而不是对象:

moment().tz("America/New_York");

最佳答案

要直接回答您的问题,请使用 .valueOf() 获取 moment.tz("America/New_York") 的值

var endDate = moment.tz("America/New_York").valueOf()

我很难理解你的问题,但我相信你正在尝试根据正确的时区来区分不同的日子。以下使用 .diff() ( https://momentjs.com/docs/#/displaying/difference/ ) 给出了准确的结果

var timeZone = "America/New_York"
var startDate = 1522821600000
var momentStartDate = moment.tz(startDate,timeZone)
var momentEndDate = moment.tz(timeZone)

alert(momentEndDate.diff(momentStartDate, 'days') );

关于javascript - moment.js timezone 获取毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665717/

相关文章:

momentjs - 如何防止带时间刻度的图表中的第一个/最后一个柱被切断

javascript - 将 moment 设置为 0 时的 19 小时偏移量(使用 moment.js)

javascript - 如何使用 Angular 2 扩展外部 JavaScript 库?

javascript - 单引号字符串中的双引号 - NodeJs

asp.net - 在 JavaScript 中嵌入 ASP.NET 服务器代码

javascript - 获取 URL 来源和参数

javascript - Mongoose.js 从不通过 Set 保存字段

javascript - NodeJS 和 Neo4j 的异步行为问题

javascript - ImageCapture 未定义

javascript - 如何使用node.js 0.12在OSX Yosemite上正确安装node-inspector?