如何在javascript中将时间从24小时时钟更改为12小时?我也想让它说上午和下午,但我不知道怎么做。我是JS的初学者。
var tmonth = new Array(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
);
function GetClock() {
var d = new Date();
var nday = d.getDay(),
nmonth = d.getMonth(),
ndate = d.getDate();
var nhour = d.getHours(),
nmin = d.getMinutes(),
nsec = d.getSeconds();
if (nmin <= 9) nmin = "0" + nmin;
if (nsec <= 9) nsec = "0" + nsec;
document.getElementById("date").innerHTML =
"" + tday[nday] + ", " + tmonth[nmonth] + " " + ndate + "";
document.getElementById("time").innerHTML =
" " + nhour + ":" + nmin + ":" + nsec + "";
}
window.onload = function () {
GetClock();
setInterval(GetClock, 1000);
};
您可以通过不声明不必要的变量并使用模板文字来简化这一点。
(hours % 12) || 12
会给你时间。
`${h >= 12 ? 'P' : 'A'}M`
会给你AM
或PM
%
是模量
||
是逻辑 OR
condition ? true : false
是三元
另外,.padStart()
function GetClock() {
let d = new Date(),
h = d.getHours();
document.getElementById("date").innerHTML =
`${tday[d.getDay()]}, ${tmonth[d.getMonth()]} ${d.getDate()}`;
document.getElementById("time").innerHTML =
`${(h % 12) || 12}:${d.getMinutes().padStart(2, '0')}:${d.getSeconds().padStart(2, '0')} ${h >= 12 ? 'P' : 'A'}M`;
}
话虽如此,24 小时时间戳确实更胜一筹,因为它自然地明确说明了它是什么时间。没有is that morning or night?
(new Date()).toTimeString().substr(0,8)
,繁荣,时间戳完成。