簡體   English   中英

Javascript 24小時至12小時

[英]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`會給你AMPM

%模數

|| 邏輯或

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM