JavaScript >> Javascript 文檔 >  >> Tags >> Date

將天(或分鐘或小時)添加到 Javascript 日期 [或減去]

本文將解釋如何加(或減 ) 天、分鐘、小時、秒(等)到 JavaScript 日期。

您為什麼要這樣做? 也許您想告訴用戶他們的作業將在一周後到期並提供日期,或者您的應用程序需要知道 30 天前的日期才能彈出提醒 - 有幾乎無限的使用案例。

使用 Vanilla JavaScript 添加日期

首先,這是用普通的舊 JavaScript 完成的:

var date = new Date(); // Todays date - the Date() constructor will default to the current date/time if no value is passed to it

var addDays = 4;
var addHours = 3;
var addMinutes = 2;
var addSeconds = 1;

// Add hours
// The getTime() method returns the number of milliseconds since January 1, 1970, so we can use it to alter the value of the date by any number of milliseconds
date.setTime(date.getTime() + (addHours * 60 * 60 * 1000)); // Convert hours to milliseconds - 60 minutes to an hour, 60 seconds to a minute, 1000 milliseconds to a second

// Add days
date.setTime(date.getTime() + (addDays * 24 * 60 * 60 * 1000)); // Similar to above, but additionally multiplying by 24 as there are 24 hours in a day

// Add minutes
date.setTime(date.getTime() + (addMinutes * 60 * 1000)); // Convert minutes to milliseconds

// Add seconds
date.setTime(date.getTime() + (addSeconds *  1000)); // Convert seconds to milliseconds

console.log(date);

結果日期將是今天的日期 加上 4 天,3 小時2 分鐘,以及 1 第二個。

您可以提供負數或使用 (減法)運算符而不是加法。

使用 Moment.js 添加日期

如果您構建的應用程序經常處理日期,Moment.js 是無價的。

Moment.js 提供了管理日期、時區、時間段(兩個日期之間的時間段)的工具——所有這些都方便地封裝在易於使用的類中。文檔很棒,它簡化了日期處理,同時提高了可靠性。

在以下位置找到它:

https://momentjs.com/

例如,要將 3 天 2 分鐘添加到您要使用的當前日期:

moment().add(7, 'days').add(2, 'minutes');

這比在 vanilla JavaScript 中更容易閱讀且不易出錯。


Tutorial JavaScript 教程
  1. 構建您的第一個 iPhone 應用程序的最簡單方法

  2. 如何使用 SignalR 和 Angular 可視化實時數據

  3. 在 JS 中的 DataTable 中中斷 table.rows().iterator()

  4. Web 應用程序框架

  5. 看不見的 Unicode - 編碼深度潛水第 1 集

  6. 擴展我們的 CSS-in-JS 以支持樣式組件語法

  7. 關於 Apollo GraphQL 的初步想法

  1. 故障單元測試從按鈕單擊重置角度反應形式控制

  2. 有沒有一種簡單的方法可以使用 TypeScript 更改嵌套 json 數據中的一個值?

  3. 如何讓客戶端代碼等待 google.script.run 的完整執行?

  4. 帶有 Angular 和 Nest 的 Nx 工作區

  5. 使用 NG2 PDF 查看器在 Angular 14 中創建 PDF 查看器

  6. #30DaysOfCJS:Linter、編譯器和其他很酷的東西是如何工作的

  7. 從頭開始構建用 Node.js 編寫的數據庫

  1. 如何在amcharts中更改標籤文本顏色

  2. 為原生移動應用引入 Vue 和 Weex

  3. 流數據的指數移動平均線

  4. 你好 Concent,一種有趣的方式來開發 React 應用程序。