我有一组字符串,格式相似:2012-05-31T00:00:00.0000000
我想从中提取的是年(2012)、月(05)和日(31),然后从这些数据构造一个javascript Date 对象。
解析这些数据的最佳方法是什么?
我有一组字符串,格式相似:2012-05-31T00:00:00.0000000
我想从中提取的是年(2012)、月(05)和日(31),然后从这些数据构造一个javascript Date 对象。
解析这些数据的最佳方法是什么?
我能想到的最简单的方法是使用正则表达式,并将值传递给Date 构造函数:
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}
当然,您也可以随时扩展它以匹配时间......
编辑(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);