2012-09-13 68 views
0

假设我想为2012年9月1日,10:11:15 h创建一个日期对象。构造函数的Javascript Date()参数

我想通了:

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()的返回,它似乎我有正确的格式。有关引号的任何转义问题吗? 我怎样才能使这个工作?这真的很奇怪...... 谢谢。

EDIT解决: 问题是它不是一个值,而是单一的参数。他们不能用函数的一次回传给....

+0

你可以发布'mypastformatfunc'的代码,以便我们可以确切地看到它返回的内容吗? – Ian

回答

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') 
}