提前道歉。由于这个图书馆的普及,我确信答案已经存在,但我一直无法找到它。
我正以这种格式从api获取时间戳
2014-09-27T00:00:00-07:00
这部分是UTC
2014-09-27T00:00:00
这部分是时区偏移量
-07:00
当转换到片刻时,我无法弄清楚如何让moment.js知道我传递的时间是UTC。
如果我试试这个
var time = moment('2014-09-27T00:00:00-07:00');
console.log(time.format("YYYY-MM-DDTHH:mm:ss"));
time.local();
console.log(time.format("YYYY-MM-DDTHH:mm:ss"));
两个控制台日志输出相同的
但是,如果我这样做
var time = moment('2014-09-27T00:00:00-07:00');
time.utc();
console.log(time.format("YYYY-MM-DDTHH:mm:ss"));
time.local();
console.log(time.format("YYYY-MM-DDTHH:mm:ss"));
准确添加7小时(我与UTC的时差)记录下来,再次删除时间并重新登录。
我试过
var time = moment.utc('2014-09-27T00:00:00-07:00');
但即便如此,.local()方法也没有做任何事情。
我错过了什么?
另一个相关问题......在标准ISO 8601格式中,时间字符串是理解为本地时间还是UTC?对于偏移量,可以在任一方向转换,我只是不确定起点是什么。