如何从yyyymmddhhiiss创建JavaScript Date对象?

时间:2012-12-17 09:16:16

标签: javascript parsing date coffeescript

我有一个像这样的字符串

date = '20121217030810'

我需要创建一个Date对象。

到目前为止,我正在尝试这个

# coffeescript
if (m = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/.exec date)
  date = new Date("#{m[1]}-#{m[2]}-#{m[3]} #{m[4]}:#{m[5]}:#{m[6]}")
  #=> Mon Dec 17 2012 03:08:10 GMT-0600 (CST)

我觉得有更好的方法!

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

比正则表达式更好的方法?不,可能除了手动字符串拆分之外。

但是对于日期创建,您应该使用

new Date(Date.UTC(+m[1], m[2]-1, +m[3], +m[4], +m[5], +m[6]))

使用一些coffescript糖,你也可以

m[2] -= 1
new Date(Date.UTC(m.slice(1)...))