我想在當前日期上添加一個時間。
例如:
我有這個時間:05:17 am
我想把這個時間添加到當前日期,用這個時間替換當前時間。
如果當前日期和時間是: <代碼>10-09-2021 11:30 am代碼>
我想添加當前日期并通過我的特定時間替換時間=>輸出上面的例子。10-09-2021 05:17 am
我正在嘗試:
var time = this.timeInput。
new Date().getTime() convertTimeToInt(time)。
//在這種情況下,我們將當前時間添加到我的輸入時間,我不希望這樣。
convertTimeToInt()是一個將時間轉換成int的方法。
有什么想法嗎?
uj5u.com熱心網友回復:
這就可以了
let time = '05:17 pm'。
let splittedTime = time.split(' ')。
let [hours, minutes] = splittedTime[0].split(' :');
let isAm = splittedTime[1] === 'am'; //在歐洲我們不使用am,小時從0到24。
var date = new Date(); // now
console.log('before ' date)。
let hourToAdd = 0;
if( hours === 12) {
if(isAm) {
hourToAdd = - 12; //在午夜我們不加 12也不加0,我們希望凌晨12點是0小時。
} else {
hourToAdd = 0;
}
} else {
hourToAdd = isAm ? 0 : 12;
}
//使用setHours來設定時間。
date.setHours( hours hourToAdd, minutes, 0, 0)。
console.log('after ' date)。
輸出:
let time = '12:17 pm'/span>;
[LOG]。"before Fri Sep 10 2021 14:37:07 GMT 0200
[LOG]: "after Fri Sep 10 2021 12: 17:00 GMT 0200
let time = '12:17 am'。
[LOG]。"before Fri Sep 10 2021 14:37:27 GMT 0200
[LOG]: "after Fri Sep 10 2021 00: 17:00 GMT 0200
let time = '05:17 am'。
[LOG]。"before Fri Sep 10 2021 14:37:45 GMT 0200
[LOG]: "after Fri Sep 10 2021 05: 17:00 GMT 0200
let time = '05:17 pm';
[LOG]。"before Fri Sep 10 2021 14:38:21 GMT 0200
[LOG]: "after Fri Sep 10 2021 17: 17:00 GMT 0200
更新:沒有上午/下午,你可以使用
let time = '05:17'。
let [hours, minutes] = time.split(': ');
var date = new Date(); // now
console.log('before ' date)。
date.setHours( hours, minutes, 0, 0); /設定小時/分鐘。
console.log('after ' date)。
輸出:
[LOG] 。"before Fri Sep 10 2021 11:03:07 GMT 0200
[LOG]: "after Fri Sep 10 2021 05: 17:00 GMT 0200
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/310900.html
標籤:
