如何在jquery的文本框中减去两个日期并显示为小时和分钟?

时间:2017-10-02 06:17:34

标签: jquery

我有两个日期变量,希望使用jquery以HH:mm格式将时间返回到文本框。 我现在有两个日期未来和日期的文本框。我通过以下方式获得他们的价值观:

var date_now = $('#date_now').val();
var date_future = $('#date_future).val();

如何将delta转换为日期差异以适合此代码。

var delta = Math.abs(date_future - date_now) / 1000;

var days = Math.floor(delta / 86400);
delta -= days * 86400;

var hours = Math.floor(delta / 3600) % 24;
delta -= hours * 3600;

var minutes = Math.floor(delta / 60) % 60;
delta -= minutes * 60;

var seconds = delta % 60;

我希望以hh:mm格式将天数小时分钟的变量提升到文本框。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用Date

d=new Date();
hr=d.getHours();
min=d.getMinutes();

也可以使用以下字符串格式:

var d1 = new Date(dateString);
var d2 = new Date(year, month, day, hours, minutes, seconds, milliseconds);
d.toLocaleTimeString() // "11:24:57 PM"
//and can get parts using...
d.toLocaleTimeString('en', { minute:"numeric" });//gives numeric number of minutes

您也可以使用d.toTimeString()来获取字符串表示。 https://www.w3schools.com/js/js_date_methods.asp https://www.w3schools.com/jsref/jsref_obj_date.asp

你也可以

var str1 = "34:22";
var times1 = str1.split(":");
var str2 = "34:22";
var times2 = str2.split(":");
var deltaMin = parseInt(times1[1]) - parseInt(times2[1])
var deltaHour = parseInt(times1[0]) - parseInt(times2[0])
if(deltaMin<0){
    --deltaHour;
    deltaMin = 60 + deltaMin;
}