我是jQuery的新手,我真的不知道如何获得这个。我想得到12小时格式的结果与12小时格式的时间和24小时格式的时间之间的差异。示例:给定时间“1:30:25 AM”并将其减去“00:32:20”,结果应为“12:58:05 AM”。请帮我搞定。
答案 0 :(得分:1)
以24小时格式生成
var dt = '1/1/2000 ';
var date = new Date(new Date(dt + '1:30:25 AM') - new Date(dt + '00:32:20'));
alert("24-hr format: " + date.toISOString().substr(11, 8));
结果:00:58:05
结果为12小时格式
function timeFormat12Hr(date) {
var hours = date.getUTCHours();
var minutes = date.getUTCMinutes();
var seconds = date.getUTCSeconds();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0' + minutes : minutes;
seconds = seconds < 10 ? '0' + seconds : seconds;
var strTime = hours + ':' + minutes + ':' + seconds + ' ' + ampm;
return strTime;
}
var dt = '1/1/2000 ';
var date = new Date(new Date(dt + '1:30:25 AM') - new Date(dt + '00:32:20'));
alert("12-hr format: " + timeFormat12Hr(date));
结果:12:58:05 AM
注意:我正在使用字符串'1/1/2000 '
来构造Date对象,但它可以是任何日期,因为我们只对它的时间部分感兴趣。
请参阅this JSFiddle进行演示。
答案 1 :(得分:0)
一些简单的javascript应该可以胜任。一旦有了日期对象,就可以以任何你想要的格式输出它。
var year = 2015; var month = 5, var day = 18, var hours = 1; minutes = 30; seconds = 25;
var date = new Date(year, month, day, hours, minutes, seconds, milliseconds);
var new_format = (date->getHours()+1)+'-'+date->getMinutes();
日期返回0-23,所以你必须加+1(这就是为什么我倾向于支持moment.js,如下所述)
http://www.w3schools.com/jsref/jsref_obj_date.asp(对于其他创建日期对象的方法)
否则可能会尝试一下moment.js,这对于日期/时间计算来说非常棒。