Javascript 如何在Jquery中添加30分钟的日期时间?
我有mm dd YYYY H:i日期格式,我想在所选日期时间中添加30分钟Javascript 如何在Jquery中添加30分钟的日期时间?,javascript,jquery,Javascript,Jquery,我有mm dd YYYY H:i日期格式,我想在所选日期时间中添加30分钟 function SetEndDate(start_date){ // start_date = "05-25-2017 05:00" var duration = '30'; var end_date_tmp = new Date(start_date); end_date_tmp.setMinutes(duration); $('#end_da
function SetEndDate(start_date){ // start_date = "05-25-2017 05:00"
var duration = '30';
var end_date_tmp = new Date(start_date);
end_date_tmp.setMinutes(duration);
$('#end_date').val(end_date_tmp);
}
它给出了无效的日期错误。请尝试以下操作:
像这样:
function SetEndDate(start_date)
{ // start_date = "05-25-2017 05:00"
var end_date_tmp = new Date(start_date);
end_date_tmp.setTime(start_date.getTime() + (30 * 60 * 1000));
}
因为您的库使用的是自定义格式05-25-2017 05:00,所以我建议您尝试使用。它可以跨浏览器正确处理解析/格式设置 函数GetEndDatestart_date{//start_date=05-25-2017 05:00 风险值持续时间=30; var d=fecha.parsestart_日期'MM-DD-YYYY HH:MM'; d、 setMinutesd.getMinutes+持续时间; 返回fecha.formatd,'MM-DD-YYYY HH:MM';; } 控制台。logGetEndDate'05-25-2017 05:00'; //这样说吧: //$'end_date'.valGetEndDate/*此处为您的变量*/;
可能重复,但如何添加动态日期?我的日期格式不一样。先传递一个有效的日期字符串给函数,或者解析该字符串传递给日期对象。我不是说fetcha不好,但在回答这些类型的问题时尽量避免使用其他库,因为这不是必需的@ArthurGuiot怎么不必要?从技术上讲,stackoverflow上的每个问题都不需要库。如果没有库的参与,这个答案会变得复杂得多,因此我觉得它是一个有效的答案。解析字符串以传递给date对象并不难……或者建议OP更改它的源代码,这就是为什么您建议使用库,而我将提醒End_date_tmp;此时我将给出错误无效日期。您可以将这些数字转换为日期时间警报New Dateend\u Date\u tmp.TogmString;一般来说,只有代码的答案是不受欢迎的,对于未注释的代码更是如此:你能总结和评论编码的想法吗?
function SetEndDate(start_date)
{ // start_date = "05-25-2017 05:00"
var end_date_tmp = new Date(start_date);
end_date_tmp.setTime(start_date.getTime() + (30 * 60 * 1000));
}
function SetEndDate(start_date){ // start_date = "05-25-2017 05:00" (mm-dd-yyyy) format
var duration = '30';
var my_date_format = function(start_date){
var d = new Date(Date.parse(start_date.replace(/-/g, "/")));
var month = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
var date = d.getFullYear() + "-" + month[d.getMonth()] + "-" + d.getDate();
var time = d.getHours()+":"+d.getMinutes();
var date_time = date + " " + time;
return (date_time);
};
var date_time = my_date_format(start_date);
d2 = new Date ( date_time );
d2.setTime(d2.getTime() + (duration * 60 * 1000));
var date_new = new Date(d2);
yr = date_new.getFullYear();
month = date_new.getMonth() < 10 ? '0' + (date_new.getMonth() + 1) : (date_new.getMonth() + 1);
day = date_new.getDate() < 10 ? '0' + date_new.getDate() : date_new.getDate();
minutes = date_new.getMinutes() < 10 ? '0' + date_new.getMinutes() : date_new.getMinutes();
hours = date_new.getHours() < 10 ? '0' + date_new.getHours() : date_new.getHours();
time = hours + ":" + minutes;
newDate = month + '-' + day + '-' + yr + ' ' + time;
$('#end_date').val(newDate); // you can get new date in "newDate" variable
}