我正在尝试转换此日期时间
150423160509 //这是utc datetime
采用以下格式:
2015-04-24 00:05:09 //本地时区
使用moment.js
var moment = require('moment-timezone');
var a = moment.tz('150423160509', "Asia/Taipei");
console.log( a.format("YYYY-MM-DD H:m:s") );
但它给了我这个错误
Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release
答案 0 :(得分:5)
这是我在Google中输入“时刻构建回到js Date”时发现的。 (来自Joe Wilson)
的帖子要摆脱警告,您需要:
传入日期字符串的ISO格式版本:
moment('2014-04-23T09:54:51');
传入你现在拥有的字符串,但告诉Moment字符串的格式是什么:
moment('Wed, 23 Apr 2014 09:54:51 +0000', 'ddd, DD MMM YYYY HH:mm:ss ZZ');
将您的字符串转换为JavaScript Date对象,然后将其传递给Moment:
moment(new Date('Wed, 23 Apr 2014 09:54:51 +0000'));
最后一个选项是Moment目前支持的内置回退, 使用已弃用的控制台警告。他们说他们不会支持这一点 未来版本的后备。他们解释说使用新的日期('我的 日期')太难以预测了。
希望有所帮助;)
答案 1 :(得分:5)
您需要告诉我们如何解析您的日期格式,如下所示:
var parsedDate = moment.utc("150423160509", "YYMMDDHHmmss");
var a = parsedDate.tz("Asia/Taipei");
// I'm assuming you meant HH:mm:ss here
console.log( a.format("YYYY-MM-DD HH:mm:ss") );