如何將小時數添加到 Date 物件?
這只是一個提前 1 小時的時鐘。可以根據您需要的任何小時數進行定制。
這適用于所有時區。
如果你想增加更多的時間,只需更改每小時 0-23 的輸出
```
<script type="text/javascript">
window.onload = function () {
DisplayCurrentTime();
};
function DisplayCurrentTime() {
var date = new Date();
var a = date.getHours() == 0 ? "1" : "" ;
var b = date.getHours() == 1 ? "2" : "" ;
var c = date.getHours() == 2 ? "3" : "" ;
var d = date.getHours() == 3 ? "4" : "" ;
var e = date.getHours() == 4 ? "5" : "" ;
var f = date.getHours() == 5 ? "6" : "" ;
var g = date.getHours() == 6 ? "7" : "" ;
var h = date.getHours() == 7 ? "8" : "" ;
var i = date.getHours() == 8 ? "9" : "" ;
var j = date.getHours() == 9 ? "10" : "" ;
var k = date.getHours() == 10 ? "11" : "" ;
var l = date.getHours() == 11 ? "12" : "" ;
var m = date.getHours() == 12 ? "1" : "" ;
var n = date.getHours() == 13 ? "2" : "" ;
var o = date.getHours() == 14 ? "3" : "" ;
var p = date.getHours() == 15 ? "4" : "" ;
var q = date.getHours() == 16 ? "5" : "" ;
var r = date.getHours() == 17 ? "6" : "" ;
var s = date.getHours() == 18 ? "7" : "" ;
var t = date.getHours() == 19 ? "8" : "" ;
var u = date.getHours() == 20 ? "9" : "" ;
var v = date.getHours() == 21 ? "10" : "" ;
var w = date.getHours() == 22 ? "11" : "" ;
var x = date.getHours() == 23 ? "12" : "" ;
var am = date.getHours() <= 10 ? "AM" : "";
var pm = date.getHours() == 11 ? "PM" : "";
var pma = date.getHours() == 12 ? "PM" : "";
var pmb = date.getHours() == 13 ? "PM" : "";
var pmc = date.getHours() == 14 ? "PM" : "";
var pmd = date.getHours() == 15 ? "PM" : "";
var pme = date.getHours() == 16 ? "PM" : "";
var pmf = date.getHours() == 17 ? "PM" : "";
var pmg = date.getHours() == 18 ? "PM" : "";
var pmh = date.getHours() == 19 ? "PM" : "";
var pmi = date.getHours() == 20 ? "PM" : "";
var pmj = date.getHours() == 21 ? "PM" : "";
var pmk = date.getHours() == 22 ? "PM" : "";
var ama = date.getHours() == 23 ? "AM" : "";
var minutes = date.getMinutes() < 10 ? "0" date.getMinutes() : date.getMinutes();
time = a b c d e f g h i j k l m n o p q r s t u v w x ":" minutes " " am pm pma pmb pmc pmd pme pmf pmg pmh pmi pmj pmk ama;
var lblTime = document.getElementById("lblTime");
lblTime.innerHTML = time;
};
一小時后是:<span id='lblTime'>
uj5u.com熱心網友回復:
為什么你的邏輯很復雜。這是一個簡單的代碼兄弟。
var datetime = new Date();
const timeFormat = { hour: '2-digit', minute: '2-digit'}
console.log("Before: ", datetime.toLocaleTimeString('en-US', timeFormat));
//ADD n Hour
datetime.setHours(datetime.getHours() 1);
console.log("After: ", datetime.toLocaleTimeString('en-US', timeFormat));
結果
之前:09:00 PM
之后:10:00 PM
uj5u.com熱心網友回復:
您可以為此使用組合多個功能
像這樣
const addHours = (date, hours) =>
new Date(date.getTime() 3600 *1000 * hours)
const formatDate = date => {
const hour = date.getHours()
const minutes = date.getMinutes()
const isAm = hour < 13
return `${(isAm? hour: hour - 12).toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')} ${isAm? 'AM': 'PM'}`
}
const addHourAndFormat = (date, hours) => formatDate(addHours(date, hours))
const date1 = new Date('2022-11-15 14:54:00')
const date2 = addHours(date1, 5)
console.log(formatDate(date1))
console.log(formatDate(date2))
console.log(addHourAndFormat(date1, 13))
uj5u.com熱心網友回復:
有許多圖書館可以為您完成這項作業。date-fns就是其中之一。例如,函式https://date-fns.org/v2.29.3/docs/intlFormat。JavaScript 日期有很多問題并且不是很容易使用。正在開發一個新的API來處理其中的許多問題。
對于將一個小時添加到日期的相對簡單的實作,這應該可以解決問題:
如MDN所述:
Date物件包含Number表示自 1970 年 1 月 1 日 UTC 以來的毫秒數。
該valueOf函式將回傳Date物件的毫秒表示。添加您感興趣的毫秒數(在本例中為 60(小時中的分鐘)* 60(分鐘中的秒)* 1000(秒中的毫秒)),然后將該數字傳遞給日期建構式。
const date = new Date(Date.now());
const hourInMilliseconds = 60 * 60 * 1000;
const datePlusHour = new Date(date.valueOf() hourInMilliseconds);
const dateHour = datePlusHour.getHours();
const amPmString = Math.floor(dateHour / 12) > 0 ? 'PM' : 'AM';
let dateHourString;
if (dateHour === 0) {
dateHourString = '12';
} else {
const twelveHour = dateHour % 12;
dateHourString = (twelveHour < 10 ? '0' : '') twelveHour;
}
const dateMinuteString = (datePlusHour.getMinutes() < 10 ? '0' : '') datePlusHour.getMinutes();
console.log(date, datePlusHour);
console.log(`${dateHourString}:${dateMinuteString} ${amPmString}`);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/533664.html
下一篇:如何將Python中的時間戳從dd/mm/yyhh:mm:ss:msmsms轉換為yyyy-mm-ddhh:mm:ss:msmsmsmsmsms
