Chrome Javascript日期AM |下午

时间:2012-01-27 10:06:59

标签: javascript google-chrome

我想获得这种格式:

2:18:00 pm

使用下面w3Schools.com的示例代码,我可以从IE和FireFox获得正确的结果。 但是当涉及到Chrome时,我得到的是24小时制版本,它只是以这种方式显示:

14:18:00

在FF

    new Date().toLocaleTimeString()
    //   2:18:00 pm

3 个答案:

答案 0 :(得分:2)

function twoDigitPad(number) { 
    return ("0" + number).slice(-2);
}

function twelveHourTimeString() {
    var date = new Date();
    var hour = date.getHours();
    var min = twoDigitPad(date.getMinutes());
    var sec = twoDigitPad(date.getSeconds());
    var ampm = hour < 12 ? "am" : "pm";
    hour = hour % 12 || 12;  // convert to 12-hour format
    return hour + ":" + min + ":" + sec + " " + ampm;
}

date.getHours()返回0到23之间的整数,hour % 12 || 12转换为12小时格式。

date.getMinutes()date.getSeconds()各自返回一个整数,因此当它们小于10时,您需要对这些值进行零填充。也可以hour

答案 1 :(得分:0)

可靠地处理日期跨浏览器是javascript中的一个球 - 我会使用DateFormat库; http://blog.stevenlevithan.com/archives/date-time-format

然后当他在页面上注意到时,你可以这样称呼它; dateFormat(现在,“h:MM:ss TT”);

有一些替代方案,但这一个似乎是最轻量级的。

答案 2 :(得分:0)

使用以下javascript代码

<script type="text/javascript">

var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
var curr_sec = d.getSeconds();
if (curr_hour < 12)
   {
   a_p = "AM";
   }
else
   {
   a_p = "PM";
 }

document.write(curr_hour + ":" + curr_min + ":" 
+ curr_sec+ a_p);

</script>

o / p将如你所料,2:18:00 PM