簡體   English   中英

NodeJS 增加了兩個小時?

[英]NodeJS add two hours to date?

我有這樣的日期字符串:

Tue Jul 29 2014 23:44:06 GMT+0000 (UTC)

我怎樣才能增加兩個小時呢?

所以我得到:

Tue Jul 29 2014 01:44:06 GMT+0000 (UTC)

這是一個解決方案:

var date = new Date('Tue Jul 29 2014 23:44:06 GMT+0000 (UTC)').getTime();
date += (2 * 60 * 60 * 1000);
console.log(new Date(date).toUTCString());
// displays: Wed, 30 Jul 2014 01:44:06 GMT

顯然,一旦你有了(新的)日期對象,你可以根據自己的喜好格式化輸出,如果本機 Date 函數沒有給你你需要的東西。

使用MomentJS

var moment = require('moment');

var date1 = moment("Tue Jul 29 2014 23:44:06 GMT+0000 (UTC)");

//sets an internal flag on the moment object.
date1.utc();

console.log(date1.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ (UTC)"));

//adds 2 hours
date1.add(2, 'h');

console.log(date1.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ (UTC)")); 

打印出以下內容:

Tue Jul 29 2014 23:44:06 GMT+0000 (UTC)

Wed Jul 30 2014 01:44:06 GMT+0000 (UTC)

這很好用:

const epoch = new Date('01-01-2000')
const notBeforeDate = new Date(epoch).setSeconds(notBefore)
const notAfterDate = new Date(epoch).setSeconds(notAfter)

注意: setSeconds()調用實際上秒數添加到當前 Date 值中,它不會將 Date 重置為某個絕對秒數。 這個細節在文檔中沒有得到很好的解決,當第一次嘗試在 JavaScript 中使用 Dates 時會引起很多心痛。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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