我想获得这种格式:
2:18:00 pm
使用下面w3Schools.com的示例代码,我可以从IE和FireFox获得正确的结果。 但是当涉及到Chrome时,我得到的是24小时制版本,它只是以这种方式显示:
14:18:00
在FF
new Date().toLocaleTimeString()
// 2:18:00 pm
答案 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