Javascript构造函数的Date()参数

时间:2012-09-13 15:54:46

标签: javascript date

假设我想为2012年9月1日,10:11:15 h创建一个日期对象。

我想通了:

past = new Date(2012,08,01,10,11,15);// works!
past = new Date('2012,08,01,10,11,15');// doesn't work.

问题是,我想将它与方法结合使用:

past = new Date(mypastformatfunc(mystring_to_format));

这给了我NaN。没有创建有效的日期对象。 我检查了mypastformatfunc()的返回,看起来我的格式正确。报价有没有逃避问题? 我怎样才能让它发挥作用?这很奇怪...... 感谢。

编辑解决: 问题是它不是一个值而是单个参数。它们不能立即通过函数的返回传递....

1 个答案:

答案 0 :(得分:2)

使用日期字符串作为构造函数的参数。

past = new Date('2012,08,01,10,11,15'.replace(/(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/, '$1/$2/$3 $4:$5:$6'));

function mypastformatfunc(str) {
  return str.replace(/(\d+),(\d+),(\d+),(\d+),(\d+),(\d+)/, '$1/$2/$3 $4:$5:$6')
}