Javascript 24小时到12小时



如何在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`会给你AMPM

%是模量

||是逻辑 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),繁荣,时间戳完成。

最新更新