假设我想为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()的返回,看起来我的格式正确。报价有没有逃避问题? 我怎样才能让它发挥作用?这很奇怪...... 感谢。
编辑解决: 问题是它不是一个值而是单个参数。它们不能立即通过函数的返回传递....
答案 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')
}