0

假设我想为 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() 的返回,看来我的格式正确。关于报价是否有任何转义问题?我怎样才能让它工作?这真的很奇怪......谢谢。

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

4

1 回答 1

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')
}
于 2012-09-13T15:59:56.427 回答