ノードヘルプ

Day.js npm (開発者向けの動作方法)

公開済み 2024年9月29日
共有:

JavaScriptにおける日付と時刻の扱いは、組み込みのDateオブジェクトの制限や癖のために、歴史的に困難な作業でした。 ネイティブのDateオブジェクトは基本的な機能を提供しますが、使い勝手の面で不足することが多く、開発者はより堅牢なソリューションを求めるようになります。 そのような解決策の一つが、日付と時刻を解析、検証、操作、表示するためのミニマリストJavaScriptライブラリであるDay.jsです。

この記事では、Day.jsの機能、利点、使用方法を探り、開発者の間で人気の選択肢となっている理由を示しています。

Day.jsとは何ですか?

Day.jsこれは、モダンブラウザで日付と時間を正しく表示するための日付や時間を扱うシンプルなAPIを提供する軽量なJavaScriptライブラリです。 それは、より現代的なAPIであるMoment.jsの代替として設計されました。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
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm install dayjs
VB   C#

基本的な使用法

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');
const dayjs = require('dayjs');
// Current date and time
const now = dayjs();
// Specific date and time
const specificDate = dayjs('2023-05-25');
const dayjs = require( 'dayjs');
' Current date and time
const now = dayjs()
' Specific date and time
const specificDate = dayjs( '2023-05-25');
VB   C#

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
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
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
VB   C#

3. 日付の解析

Day.jsは文字列から日付オブジェクトを解析し、さまざまな形式で日付を表示できます。

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

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
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
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
VB   C#

日付の比較

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
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
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
VB   C#

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
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
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
VB   C#

Node.jsのIronPDFでDay.jsを使用してPDFに日付を追加する

Day.jsという軽量なJavaScriptの日時ライブラリパッケージと、Node.js用の多機能なPDF生成および操作ライブラリであるIronPDFを組み合わせることで、開発者はPDFドキュメントでの日付を効率的に処理できます。

IronPDF - Node.js PDFライブラリ

IronPDFNode.js 用の包括的なライブラリで、開発者が Node.js アプリケーション内で PDF ドキュメントをシームレスに作成、操作、および対話できるようにします。 豊富な機能セットを提供するIronPDFは、HTML、ウェブサイトのURL、既存のドキュメントからPDFを生成するタスクを簡素化し、テキスト、画像、インタラクティブ要素の追加、またHTMLからPDFへの正確な変換を行います。

Day.js npm(開発者向けの仕組み):図2 - IronPDF

IronPDF for Node.jsに関する詳細情報については、こちらをご覧ください。ドキュメントページ

はじめに

まず、必要なパッケージがインストールされていることを確認してください。 Day.jsとIronPDFをnpm経由でインストールできます:

npm i @ironsoftware/ironpdf
npm i @ironsoftware/ironpdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'npm i @ironsoftware/ironpdf
VB   C#

日付付きのデジタル署名の追加

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");
})();
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");
})();
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'import dayjs from 'dayjs'; import { PdfDocument } from "@ironsoftware/ironpdf"; (async() => { const pdf = await PdfDocument.open("sample.pdf"); const signatureDate = dayjs().toDate(); 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" } }); await pdf.saveAs("signed_with_date.pdf"); })();
VB   C#

こちらが出力です:

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操作の強力さをぜひご自身でお確かめください。 今日試してみてください!

< 以前
tailwind npm(開発者向けの動作方法)
次へ >
Moment.js(開発者にとっての動作方法)

準備はできましたか? バージョン: 2024.11 新発売

無料のnpmインストール ライセンスを表示 >