節點幫助

Day.js npm (其對開發者的作用)

由於內建 Date 對象的限制和獨特性,在 JavaScript 中處理日期和時間歷來是一項具有挑戰性的任務。 雖然原生的Date物件提供了基本功能,但在可用性方面往往不夠完善,因此開發者尋求更強大的解決方案。 其中一個解決方案是Day.js,這是一個極簡的 JavaScript 程式庫,用於解析、驗證、操作和顯示日期和時間。

本文探討了 Day.js 的功能、優點及其使用方法,說明為何它已成為開發者間的熱門選擇。

Day.js 是什麼?

Day.js 是一個輕量級的 JavaScript 庫,提供簡單的 API,便於在現代瀏覽器中正確地顯示日期和時間。 它被設計為同樣現代的API Moment.js的替代品,這是一個廣泛使用但更為龐大的庫。 Day.js 只有 2kB 大小(經過 gzip 壓縮),使其成為對效能要求高的應用程式的絕佳選擇。 儘管體積小,Day.js 庫是 Moment.js 的替代品,並提供強大的功能來涵蓋最常見的使用案例。

Day.js npm(對開發者的運作方式):圖 1 - Day.js

主要功能

以下是 Day.js 庫的一些主要功能:

  1. 輕量級:憑藉其小巧的尺寸和先進的格式選項,Day.js 確保您的應用程序保持快速和高效。

  2. 不可變:Day.js 物件是不可變的,這意味著方法不會改變原始物件,而是返回新的實例。

  3. 可鏈式 API:Day.js 中的方法可以串連在一起,使代碼更具可讀性和簡潔性。

  4. 國際化:Day.js 支援多種地區語系,方便進行日期和時間的本地化。

  5. 插件系統:模組化的插件系統允許您擴展 Day.js 的功能而不增加核心庫的負擔。

  6. 相容性:Day.js 被設計為與 Moment.js API 相容,使現有程式碼庫的遷移變得簡單。

安裝

Day.js 可以透過 npm 或 yarn 輕鬆安裝。 它也可以通過使用 CDN 直接包含在您的 HTML 文件中。

使用 npm

npm install dayjs
npm install dayjs
SHELL

基本用法

Day.js 提供廣泛的時區支持,使開發人員能夠輕鬆管理本地時間並精確地執行時間操作任務。 憑藉其嚴格的解析能力,Day.js 確保了日期和時間值的準確解釋,從而實現可靠且一致的結果。 無論是減去時間或更新值,Day.js 使處理日期和時間變得簡單,還提供創建新實例等附加功能以增強彈性。

讓我們來看看使用 Day.js 的一些範例。

1. 創建日期

在 Day.js 中創建新的日期實例非常簡單。 以下例子說明了這一點:

const dayjs = require('dayjs');
// Current date and time
const now = dayjs();
// Specific date and time
const specificDate = dayjs('2023-05-25');
js
JAVASCRIPT

2. 格式化日期

Day.js 提供了一種靈活且強大的新實例方法來格式化日期:

const date = dayjs('2023-05-25');
console.log(date.format('YYYY-MM-DD')); // 2023-05-25
console.log(date.format('dddd, MMMM D, YYYY')); // Thursday, May 25, 2023
js
JAVASCRIPT

3. 解析日期

Day.js 可以從字串解析日期物件,並以多種格式顯示日期:

const date1 = dayjs('2023-05-25');
const date2 = dayjs('05/25/2023', 'MM/DD/YYYY');
console.log(date1.isSame(date2)); // true
js
JAVASCRIPT

4. 操作日期

Day.js 透過其可鏈式操作的 API,允許輕鬆處理日期:

const date = dayjs('2023-05-25');
const nextWeek = date.add(1, 'week'); // Updated Value
const lastMonth = date.subtract(1, 'month'); // Updated Value
console.log(nextWeek.format('YYYY-MM-DD')); // 2023-06-01
console.log(lastMonth.format('YYYY-MM-DD')); // 2023-04-25
js
JAVASCRIPT

5. 比較日期

在 Day.js 中比較日期既簡單又直觀:

const date1 = dayjs('2023-05-25');
const date2 = dayjs('2023-06-01');
console.log(date1.isBefore(date2)); // true
console.log(date1.isAfter(date2)); // false
console.log(date1.isSame(date2)); // false
js
JAVASCRIPT

6. 本地化

Day.js 支援國際化(i18n)以處理不同的地區設定:

const dayjs = require('dayjs');
const localizedFormat = require('dayjs/plugin/localizedFormat');
const localeData = require('dayjs/plugin/localeData');
const updateLocale = require('dayjs/plugin/updateLocale');
dayjs.extend(localizedFormat);
dayjs.extend(localeData);
dayjs.extend(updateLocale);
dayjs.locale('fr');
console.log(dayjs().format('dddd, MMMM D, YYYY')); // jeudi, mai 25, 2023
dayjs.updateLocale('fr', {
    months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
    weekdays: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi']
});
console.log(dayjs().format('dddd, MMMM D, YYYY')); // jeudi, mai 25, 2023
js
JAVASCRIPT

在 Node.js 中使用 Day.js 搭配 IronPDF 向 PDF 添加日期

結合 Day.js(輕量級 JavaScript 日期函式庫)與 IronPDF(適用於 Node.js 的多功能 PDF 生成與操作函式庫)的力量,可讓開發者有效處理 PDF 文件中的日期。

IronPDF - Node.js PDF 庫

IronPDF for Node.js 是一個綜合性的庫,使開發人員能夠在其 Node.js 應用程式中無縫地創建、操作和交互 PDF 文件。 IronPDF 提供豐富的功能集,簡化了從 HTML、網站 URL 或現有文件生成 PDF 的任務,添加文本、圖像和互動元素,以及精確地將 HTML 轉換為 PDF。

Day.js npm(它如何為開發人員工作):圖2 - IronPDF

如需有關IronPDF for Node.js的更詳細資訊,請造訪此文件頁面。

入門

首先,確保您已安裝必要的軟體包。 您可以通過 npm 安裝 Day.js 和 IronPDF:

npm i @ironsoftware/ironpdf
npm i @ironsoftware/ironpdf
SHELL

添加帶日期的數位簽章

IronPDF 也支援將數位簽章新增至 PDF。 以下是如何使用 Day.js 添加帶有時間戳的簽名

import dayjs from 'dayjs';
import { PdfDocument } from "@ironsoftware/ironpdf";
(async () => {
    // Import a PDF
    const pdf = await PdfDocument.open("sample.pdf");
    // Get the current date and time for the signature
    const signatureDate = dayjs().toDate();
    // Sign the PDF with a digital certificate
    await pdf.signDigitalSignature({
        certificatePath: "IronSoftware.pfx",
        certificatePassword: "123456",
        signingReason: "To show how to sign a PDF",
        signingLocation: "Chicago, USA",
        signatureDate: signatureDate,
        signatureImage: {
            SignatureImagePath: "logo.png"
        }
    });
    // Save the signed PDF
    await pdf.saveAs("signed_with_date.pdf");
})();
js
JAVASCRIPT

這是輸出:

Day.js npm(對開發者的運作方式):圖 3 - PDF 輸出

您還可以使用現成的程式碼範例,立即在您的 Node.js 應用中開始使用該庫。 如需進一步探索,您也可以造訪此API 參考頁面。

結論

Day.js 是一個強大且高效的庫,用於在 JavaScript 中管理日期和時間。 其輕量化特性、對不可變數據結構的支持以及與 Moment.js 的兼容性,使其成為開發者在不給應用程序添加顯著負擔的情況下處理日期和時間操作的理想選擇。

通過將 Day.js 與 IronPDF 結合,開發人員可以輕鬆處理 PDF 文件中的日期。 無論是從 URL 或 HTML 字串生成 PDF,或是添加帶有時間戳的數位簽名,Day.js 都提供了一種簡單而強大的方式來管理日期。 這種組合增強了您的 Node.js 應用程式的功能,使其能夠進行強大且動態的 PDF 文件管理。

體驗IronPDF,起價為$749。 親自體驗 PDF 生成和 PDF 操作功能的強大。 今天就試試看!

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant 擁有邁阿密大學的計算機科學學士學位,目前擔任 Iron Software 的全端 WebOps 行銷工程師。自幼對編程產生興趣,他認為計算機既神秘又易於接觸,使其成為創造力和解決問題的完美媒介。

在 Iron Software,Darrius 享受創造新事物並簡化複雜概念使其更易理解的過程。作為我們的其中一位常駐開發人員,他也自願教導學生,將他的專業知識傳授給下一代。

對 Darrius 來說,他的工作之所以令人滿足,是因為它受到重視並且產生了真正的影響。

< 上一頁
tailwind npm(它對開發人員的運作方式)
下一個 >
Moment.js(開發者如何使用)

準備開始了嗎? 版本: 2025.5 剛剛發布

查看許可證 >