[英]Javascript 24hours to 12hours
我怎樣才能將 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
(hours % 12) || 12
會給你時間。
`${h >= 12? 'P': 'A'}M`
`${h >= 12? 'P': 'A'}M`
會給你AM
或PM
%
是模數
||
是邏輯或
condition? true: false
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)
,繁榮,時間戳完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.