gpt4 book ai didi

javascript - 两次之间经过的分钟数

转载 作者:行者123 更新时间:2023-11-30 07:09:27 26 4
gpt4 key购买 nike

我有一个应用程序需要两次之间经过的分钟数。例如:9:00 到 10:00 是六十分钟。这是我制定的解决方案,但它似乎过于冗长。我可以做得更好吗?

编辑:我从远程系统接收 YYYYMMDD 和 HHMM 或 HMM 格式的字符串。

// define a start time and end time as string
var start_time ="830";
var end_time ="1930";

// make sure we have complete 4 digit time
start_time = ('0' + start_time).slice(-4);
end_time = ('0' + end_time).slice(-4);

// extract start minutes and seconds
start_hour = start_time.substring(0,2);
start_minute = start_time.substring(2,4);

// extract end minutes and seconds
end_hour = end_time.substring(0,2);
end_minute = end_time.substring(2,4);

//get current date - it seems that we need a date a valid date to create a Date object
var now = new Date();
var year = now.getUTCFullYear();
var month = now.getUTCMonth();
var day = now.getDate();

// create Date object
var start_date_time_object = new Date(year,month,day,start_hour,start_minute);
var end_date_time_object = new Date(year,month,day,end_hour,end_minute);

// get number of minutes between start and end times
var start_minutes = (start_date_time_object.getHours() * 60) + start_date_time_object.getMinutes();
var end_minutes = (end_date_time_object.getHours() * 60) + end_date_time_object.getMinutes();

// calculate net time elapsed
var duration = end_minutes - start_minutes;

// display
console.log(start_minutes);
console.log(end_minutes);
console.log(duration);

最佳答案

DEMO

只需从返回中删除您不想看到的内容即可。现在您可以简单地传递日期对象,而不必为转换而烦恼。

var cc = new Date("9/13/2012 12:00 AM");
var c = new Date();

function timeDifference(d, dd) {
var minute = 60 * 1000,
hour = minute * 60,
day = hour * 24,
month = day * 30,
ms = Math.abs(d - dd);

var months = parseInt(ms / month, 10);

ms -= months * month;

var days = parseInt(ms / day, 10);

ms -= days * day;

var hours = parseInt(ms / hour, 10);

ms -= hours * hour;
var minutes = parseInt(ms / minute, 10);

return [
months + " months",
days + " days",
hours + " hours",
minutes + " minutes"
].join(", ");
};

document.body.innerHTML += timeDifference(cc, c) + "<br />";

关于javascript - 两次之间经过的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com