我正在尝试设置从文本框中读取的约会开始日期,这是我的代码:
var start_temp = $('#start-datetime').val()
var start = new Date(start_temp.toString('dd/MM/yyyy HH:mm'));
var currentMin = parseInt(start.toString('mm'));
if (currentMin > 0 && currentMin < 15)
start.set({ 'minute': 15 });
else if (currentMin > 15 && currentMin < 30)
start.set({ 'minute': 30 });
else if (currentMin > 30 && currentMin < 45)
start.set({ 'minute': 45 });
else
start.addHours(1).set({ 'minute': 0 });
$('#start-datetime').val(start.toString('dd/MM/yyyy HH:mm'));
你怎么能看到我在我的文本框 start-datetime
中得到了开始日期,这是以前用约会信息填充的。但这现在并不重要。
稍后我将此值传递给 start
变量,转换为日期对象并设置日期格式。但我明白了:
Invalid Date
如果我打印这个:$('#start-datetime).val()
我得到:
20/11/2015 12:15
我做错了什么?
最佳答案
由于您使用的是 Date.js,请利用 Date.parse
var start = Date.parse($('#start-datetime').val());
或者在 moment.js 中
// this creates a moment object (PARSED)
var start = moment($('#start-datetime').val());
var start_string = start.format('dd/MM/yyyy HH:mm');
关于javascript - 不能将 addHours 用于 Date(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33829780/