我一直在寻找几天来找到如何让moment.js正确行事并为特定的本地时区返回正确的日期。
这是我的挑战:
我正在拨打航班api来获取航班的“到达日期/时间”。它为我提供了纪念时间的到达时间和机场的时区。
我正在使用javascript moment.js将其转换为机场的当地时间,但是,时间总是提前几天。
这是我的代码: var dateVal = 1395184260; var day = moment.unix(dateVal).tz('America / Vancouver')。format(); console.log(“tz:”,day);
//应该返回:4:21 PM - Sun Mar-16-2014但是它总是返回18而不是16。
答案 0 :(得分:1)
你在哪里获得"应该返回"从?
根据http://www.epochconverter.com/epoch/timezones.php?epoch=1395184260,你的时间应该是
2014年3月18日16:11:00 GMT-7:00
This fiddle使用您的时间戳:
var dateVal = 1395184260;
var date = moment.unix(dateVal);
console.log(date.tz("America/Vancouver").format('ll HH:mm:ss Z'))
返回:
2014年3月18日16:11:00 -07:00
我会检查您使用的转换器,看看是否有错误。