弃用警告:时刻构建回落到日期

时间:2015-04-25 21:33:56

标签: javascript momentjs

我正在尝试转换此日期时间

  

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

2 个答案:

答案 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") );