我正在尝试获取过去的天数。我正在为日期存储纪元(毫秒)。 我正在以毫秒为单位从数据库中读取 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/