简体   繁体   English

以12小时格式显示时间

[英]Displaying the time in 12hr format

I need your help 我需要你的帮助

If the code below is able to get the date in my requested format of: dd/mm/yyyy 如果以下代码能够以我要求的格式获取日期: dd/mm/yyyy

How do I go about getting the time in a 12hr format ie. 我该如何以12小时格式获取时间,即。 13:53 is 1:53pm

Thank you 谢谢

<script type="text/javascript">
    function test() {
        var d = new Date(),
            m = d.getMonth() + 1,
            xdate = [d.getDate(), (m < 10) ? '0' + m : m, d.getFullYear()].join('/');

        var t = d.format("h:mm ss");

        alert("the date is:" + xdate + "time is:" + t)
    }
</script>

Demo jsFiddle 演示jsFiddle

JS JS

var d = new Date();
alert("the date is: " + d.toLocaleDateString() + "time is: " + d.toLocaleTimeString());

Note: these functions aren't exactly cross browser supported 注意:这些功能不完全支持跨浏览器

Use this: 用这个:

var d = new Date(),
    m = d.getMonth()+1,

    x = [d.getDate(), (m < 10) ? '0' + m : m, d.getFullYear()].join('/'),

    y = d.toLocaleTimeString().replace(/([\d]+:[\d]{2})(:[\d]{2})(.*)/, "$1$3")

alert(x +" "+ y)

Taken from: How do you display javascript datetime in 12 hour AM/PM format? 摘自: 如何以12小时AM / PM格式显示javascript日期时间?

It is not that difficult. 没有那么困难。 Try this one out : 试试这个:

JS: JS:

var formatTime = (function () {
function addZero(num) {
return (num >= 0 && num < 10) ? "0" + num : num + "";
}

return function (dt) {
var formatted = '';

if (dt) {
    var hours24 = dt.getHours();
    var hours = ((hours24 + 11) % 12) + 1;
    formatted = [formatted, [addZero(hours), addZero(dt.getMinutes())].join(":"), hours24 > 11 ? "pm" : "am"].join(" ");            
}
return formatted;
}
})();


console.log(formatTime(new Date())); 

Find the working fiddle here : http://jsfiddle.net/rRd2P/1/ 在此处找到有效的小提琴: http : //jsfiddle.net/rRd2P/1/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM