我真的需要你的帮助来完成这个
我正在处理自己的脚本,它从输入中导入日期,如下所示:
<input type='text' class='hidden' value='$a' id='test'>
$ a是日期,取自带模板的数据库(?): 2014,03,09,04,07,02
及其:年,月,日,小时,分钟,秒
所以看起来像这样
<input type='text' class='hidden' value='2014, 03, 09, 04, 07, 02' id='test'>
我的javascript文件是这样的:
$(function() {
$('input#test').removeClass('hidden');
var a = $('input#test').val();
console.log(a);
var b = +new Date(a);
console.log(b);
第一个控制台日志返回输入的内容(2014,03,09,04,07,02),但第二个返回NaN。我不明白为什么:c
当我像这样手动编写时:
var b = + new Date(2014,03,09,04,07,02);
它全部工作..我不知道如何解决它,我也尝试过使用它:
有什么想法吗? :)
答案 0 :(得分:1)
您只将一个参数(1个字符串)传递给该函数!不是6!
使用它:
$(function(){ $(&#39;输入#试验&#39)。removeClass(&#39;隐藏&#39);
var a = $('input#test').val(); console.log(a); var params = a.split(", ") var b = +new Date(params[0], params[1], params[2], params[3], params[4], params[5]); console.log(b);
答案 1 :(得分:1)
你的a被视为字符串,因此它作为Date的第一个参数。您需要在日期中阐明其他参数。为什么在new Date()
中使用+?
你需要注意一个月从0开始,所以03表示4月而不是3月。
似乎不需要它。
试试这个:
$('input#test').removeClass('hidden');
var a = $('input#test').val();
console.log(a);
arr = a.split(",")
var b = new Date(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]);
console.log(b);