首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery:如何获得12小时格式的时间和24小时格式的时间之间的差异

jQuery:如何获得12小时格式的时间和24小时格式的时间之间的差异
EN

Stack Overflow用户
提问于 2015-05-18 02:11:09
回答 2查看 713关注 0票数 0

我是jQuery的新手,我真的不知道该怎么做。我想得到12小时格式的结果,12小时格式的时间和24小时格式的时间之差。例如:给定时间"1:30:25 AM“并减去"00:32:20",则结果应该是"12:58:05 AM”。请帮我拿这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-18 02:53:30

导致24小时格式的

代码语言:javascript
复制
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小时格式的

代码语言:javascript
复制
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

注意:我使用string '1/1/2000 '来构造Date对象,但是它可能是任何日期,因为我们只对它的时间部分感兴趣。

有关演示,请参见这个JSFiddle

票数 1
EN

Stack Overflow用户

发布于 2015-05-18 02:44:02

一些简单的javascript应该完成这项工作。一旦您有了日期对象,您就可以以任何您想要的格式输出它。

代码语言: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的原因,如下所述)

date.asp (用于创建日期对象的其他方法)

否则,可能会给moment.js一个尝试,它是可怕的日期/时间计算。

http://momentjs.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30294150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档