JavaScript - 将日期字符串yyyyMMddHHmmss转换为日期对象yyyy-MM-dd HH:mm:ss

时间:2014-07-11 03:01:08

标签: javascript datetime

我有这个日期:2014071109080706ICT

我需要将它转换为JS中的Date对象 我尝试创建新对象new Date("2014071109080706ICT"),但收到错误Invalid date 我还尝试将日期字符串剪切为“20140711090807”并创建新的Date对象,但它始终生成错误:Invalid date 我该怎么办?

2 个答案:

答案 0 :(得分:3)

您可以尝试使用moment.js。 http://momentjs.com

文档页面中有一些示例。其中之一是:

时刻(“2010-10-20 4:30 +0000”,“YYYY-MM-DD HH:mm Z”);

http://momentjs.com/docs/#/parsing/

您可以尝试:

时刻(“20140711090807 + 0600”,“YYYYMMDDHHmmssZZ”); 我认为“06ICT”是时区信息。

答案 1 :(得分:2)

您只需要为每个段切片,并根据这些部分创建日期对象。

var str = "20140711090807";
var year = str.substring(0, 4);
var month = str.substring(4, 6);
var day = str.substring(6, 8);
var hour = str.substring(8, 10);
var minute = str.substring(10, 12);
var second = str.substring(12, 14);
var date = new Date(year, month-1, day, hour, minute, second);

PS:月份索引介于0和11之间,因此您需要将其减去1。