該函數以24小時格式返回時間。
如何將時間從24小時制轉換爲使用JavaScript的12小時制?
function fomartTimeShow(h) {
return h < 10 ? "0" + h + ":00" : h + ":00";
}
以24小時格式返回時間。我想要以12小時的格式轉換時間。
Anyhelp將不勝感激。
謝謝。
該函數以24小時格式返回時間。
如何將時間從24小時制轉換爲使用JavaScript的12小時制?
function fomartTimeShow(h) {
return h < 10 ? "0" + h + ":00" : h + ":00";
}
以24小時格式返回時間。我想要以12小時的格式轉換時間。
Anyhelp將不勝感激。
謝謝。
只需使用模數12:
function formatTimeShow(h_24) {
var h = h_24 % 12;
return (h < 10 ? '0' : '') + h + ':00';
}
模量(%
)指分而採取的餘數。例如17/12 = 1,餘數爲5.所以17%12的結果是5,而小時17是12小時內的小時5。
但請注意,此功能不完整,因爲它不適用於小時0(或小時12)。要解決它,你必須在另一檢查添加爲:
function formatTimeShow(h_24) {
var h = h_24 % 12;
if (h === 0) h = 12;
return (h < 10 ? '0' : '') + h + ':00';
}
另外請注意,您還可以輕鬆添加經絡,通過觀察時間是否小於12(上午)或等於/時(下午) :
function formatTimeShow(h_24) {
var h = h_24 % 12;
if (h === 0) h = 12;
return (h < 10 ? '0' : '') + h + ':00' + (h_24 < 12 ? 'am' : 'pm');
}
注:以上所有的假設參數,這個功能是一個整數介於0和23
你可以嘗試像以下:
function fomartTimeShow(h) {
var ampm = "am"
if (h >= 12)
ampm = "pm"
h = h % 12;
if (h == 0)
h = 12;
return h ":00" + ampm;
}
這不適用於午夜或中午。它會顯示「00:00 am」和「00:00 pm」。您應該檢查以查看值是否爲「0」並將其替換爲「12」。 – 2012-02-29 11:06:12
'h = h%12;'之後,'h'永遠不會是'> = 12'。 – Toto 2012-02-29 15:22:39
感謝Ben Lee和M42,你們都是對的。我修改了反映這一點的代碼。 – 2012-02-29 17:03:23
function fomartTimeShow(h) {
var s = (h % 24 < 12) ? "am" : "pm", h = h % 12 || 12;
return (h < 10 ? "0" + h : h) + ":00" + " " + s;
}
我敢肯定,這將工作作爲奔李的回答更簡捷的公式化的版本,包括爲H = 0和h = 12的情況:
function fomartTimeShow(h_24) {
var h = ((h_24 + 11) % 12)+1;
return (h < 10 ? '0' : '') + h + ':00';
}
或包括AM/pm:
function fomartTimeShow(h_24) {
var h = ((h_24 + 11) % 12)+1;
return (h < 10 ? '0' : '') + h + ':00' + (h_24 < 12 ? 'am' : 'pm');
}
那麼'h'只是一個0到23之間的整數?你有什麼嘗試? – 2012-02-29 10:56:53
如果您進行了大量的日期/時間解析,查看[Datejs](http://www.datejs.com/)可能會很有趣。 – flitig 2012-02-29 11:00:55