javascript - 不能将 addHours 用于 Date()

标签 javascript jquery date

我正在尝试设置从文本框中读取的约会开始日期,这是我的代码:

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

我做错了什么?

JSFIDDLE

最佳答案

由于您使用的是 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/

相关文章:

javascript - 如何使用 ES6 类创建一个不从 Object.prototype 继承的类?

java - 将 wsdl 生成的 XmlGregorianCalendar 类型的日期替换为 java.util.Date?

mysql - 在 mySQL 中,我如何测试 NOW() 是否在即将到来的时间戳之前的间隔内并且不早于时间戳?

Javascript 无法在 google chrome 扩展中工作

javascript - 如何将从canvas元素创建的图像添加到页面?

javascript - 使用纯 CSS 创建轮播

javascript - 启动一个 touchend 事件 - jQuery Mobile

JavaScript 事件 - 页面加载期间还是之前?

javascript - 如何通过按下按钮将上标文本添加到 HTML 输入框?

针对 UI 本地化的 Java 日期格式帮助文本