分钟时长差异 javascript
Minute duration differentiation javascript
假设我有这个可变日期(小时:分钟:秒格式)
var time1 = "12:34:19 PM"
var time2 = "12:29:25 PM"
如何从 time1 和 time2 中区分(持续时间)?以及我们如何将其更改为日期格式来进行差异处理?
您可以转换时间 new Date() 只需在它前面加上一个日期
使用 getTime()
获取它们的时间戳并减去它们
var duration = new Date('datetime1').getTime() - new Date('datetime2').getTime()
因为时间戳是结果总秒数除以 1000 的 1000 倍
var duration = durantion/1000;
我只是创建了一个函数来正确格式化秒数,使其看起来像一个有效的持续时间
var time1 = "2016-11-02 12:34:19 PM"
var time2 = "2016-11-02 12:29:25 PM"
time1 = new Date(time1 ).getTime();
time2 = new Date(time2 ).getTime();
var duration = (time1 - time2) / 1000;
function formatTime(seconds) {
var minutes = Math.floor(((seconds/3600)%1)*60);
minutes = (minutes < 10) ? '0'+minutes : minutes;
var seconds = Math.round(((seconds/60)%1)*60);
seconds = (seconds < 10) ? '0'+seconds : seconds;
return minutes+':'+seconds;
}
console.log('Duration: ' + formatTime(duration)+' secs')
这是工作脚本
String.prototype.toHHMMSS = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
return hours+':'+minutes+':'+seconds;
}
var timeStart = new Date("Mon Jan 01 2007 11:00:00 GMT+0530").getTime();
var timeEnd = new Date("Mon Jan 01 2007 11:32:51 GMT+0530").getTime();
var hourDiff = timeEnd - timeStart; //in ms
var secDiff = (hourDiff / 1000).toString(); //in s
alert(secDiff .toHHMMSS());
您可以使用构造函数创建一个 Date
对象,如下所示:
Date(year, month, date, hours, minutes, seconds, ms)
在你的情况下你可以得到差异:
var date = new Date(2000, 1, 1, 12, 34, 19, 0, 0),
date2 = new Date(2000, 1, 1, 12, 39, 25, 0, 0);
console.log(date2 - date); // in ms. You can do whatever you want with this value
您可以阅读有关 Date
对象的更多信息 here.
假设我有这个可变日期(小时:分钟:秒格式)
var time1 = "12:34:19 PM"
var time2 = "12:29:25 PM"
如何从 time1 和 time2 中区分(持续时间)?以及我们如何将其更改为日期格式来进行差异处理?
您可以转换时间 new Date() 只需在它前面加上一个日期
使用 getTime()
获取它们的时间戳并减去它们
var duration = new Date('datetime1').getTime() - new Date('datetime2').getTime()
因为时间戳是结果总秒数除以 1000 的 1000 倍
var duration = durantion/1000;
我只是创建了一个函数来正确格式化秒数,使其看起来像一个有效的持续时间
var time1 = "2016-11-02 12:34:19 PM"
var time2 = "2016-11-02 12:29:25 PM"
time1 = new Date(time1 ).getTime();
time2 = new Date(time2 ).getTime();
var duration = (time1 - time2) / 1000;
function formatTime(seconds) {
var minutes = Math.floor(((seconds/3600)%1)*60);
minutes = (minutes < 10) ? '0'+minutes : minutes;
var seconds = Math.round(((seconds/60)%1)*60);
seconds = (seconds < 10) ? '0'+seconds : seconds;
return minutes+':'+seconds;
}
console.log('Duration: ' + formatTime(duration)+' secs')
这是工作脚本
String.prototype.toHHMMSS = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
return hours+':'+minutes+':'+seconds;
}
var timeStart = new Date("Mon Jan 01 2007 11:00:00 GMT+0530").getTime();
var timeEnd = new Date("Mon Jan 01 2007 11:32:51 GMT+0530").getTime();
var hourDiff = timeEnd - timeStart; //in ms
var secDiff = (hourDiff / 1000).toString(); //in s
alert(secDiff .toHHMMSS());
您可以使用构造函数创建一个 Date
对象,如下所示:
Date(year, month, date, hours, minutes, seconds, ms)
在你的情况下你可以得到差异:
var date = new Date(2000, 1, 1, 12, 34, 19, 0, 0),
date2 = new Date(2000, 1, 1, 12, 39, 25, 0, 0);
console.log(date2 - date); // in ms. You can do whatever you want with this value
您可以阅读有关 Date
对象的更多信息 here.