如何在JavaScript中将字符串转换为日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
如何在JavaScript中将字符串转换为日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
字符串解析的最佳字符串格式是日期ISO格式和JavaScript日期对象构造函数.
ISO格式示例:YYYY-MM-DD
或YYYY-MM-DDTHH:MM:SS
.
But wait!仅仅使用"ISO格式"本身并不能可靠地工作.字符串有时解析为UTC,有时解析为localtime(基于浏览器供应商和版本).最佳实践应该始终是将日期存储为UTC,并以UTC进行计算.
要将日期解析为UTC,请追加Z-例如:new Date('2011-04-11T10:20:30Z')
.
要以UTC显示日期,请使用.toUTCString()
,
更多关于MDN | Date和this answer的信息.
对于旧的Internet Explorer兼容性(9以下的IE版本不支持日期构造函数中的ISO格式),您应该将日期时间字符串表示拆分为其部分,然后可以使用使用日期时间部分的构造函数,例如:new Date('2011', '04' - 1, '11', '11', '51', '00')
.请注意,月份的数字必须减少1.
Alternate method - use an appropriate library:个
您还可以利用允许解析具有指定时区的日期的库Moment.js.