我有一组字符串,所有字符串都类似:2012-05-31T00:00:00.0000000
我想从中提取的是年(2012),月(05)和日(31),然后根据这些数据构建一个javascript Date对象。
解析此数据的最佳方法是什么?
答案 0 :(得分:2)
我能想到的最简单的方法是使用正则表达式,并将值传递给Date constructor:
function parseISODate(dateString) {
var match = /^(\d{4})-(\d\d)-(\d\d)/.exec(dateString);
return new Date(Number(match[1]), Number(match[2]) - 1, Number(match[3]));
}
console.log(parseISODate('2012-05-31T00:00:00.0000000'));
// Date {Thu May 31 2012 00:00:00 GMT+0200}
当然,你总是可以扩展它以匹配时间......
答案 1 :(得分:-1)
编辑(UTC):
var origDate = new Date('2012-05-31T00:00:00.0000000');
var newDate = new Date(origDate.getUTCFullYear(), origDate.getUTCMonth(), origDate.getUTCDate(), 0, 0, 0, 0);