IRONSOFTWAREHOME
POMOC NODE

Day.js npm (jak to działa dla programistów)

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Obsługa dat i godzin w JavaScript od dawna stanowi wyzwanie ze względu na ograniczenia i specyfikę wbudowanego obiektu Date. Chociaż natywny obiekt Date zapewnia podstawową funkcjonalność, często nie spełnia oczekiwań pod względem użyteczności, co skłania programistów do poszukiwania bardziej niezawodnych rozwiązań. Jednym z takich rozwiązań jest Day.js, minimalistyczna biblioteka JavaScript służąca do analizowania, sprawdzania poprawności, manipulowania oraz wyświetlania dat i godzin.

W tym artykułe omówiono funkcje, zalety i zastosowanie Day.js, pokazując, dlaczego stało się ono popularnym wyborem wśród programistów.

Czym jest Day.js?

Day.js to lekka biblioteka JavaScript, która zapewnia proste API do pracy z datami i godzinami w celu prawidłowego wyświetlania daty i godziny w nowoczesnych przeglądarkach. Została zaprojektowana jako alternatywa dla podobnie nowoczesnego API Moment.js, szeroko stosowanej, ale znacznie cięższej biblioteki. Day.js zajmuje zaledwie 2 kB (po kompresji gzip), co czyni go doskonałym wyborem dla aplikacji, w których liczy się wydajność. Pomimo niewielkich rozmiarów biblioteka Day.js stanowi alternatywę dla Moment.js i oferuje zaawansowane funkcje, które obejmują najczęstsze przypadki użycia.

Day.js npm (Jak to działa dla deweloperów): Figura 1 - Day.js

Najważniejsze cechy

Oto kilka kluczowych funkcji biblioteki Day.js:

  1. Lekkość: Dzięki niewielkim rozmiarom i zaawansowanym opcjom formatowania Day.js zapewnia, że Twoja aplikacja pozostaje szybka i wydajna.
  2. Niezmienność: Obiekty Day.js są niezmienne, co oznacza, że metody nie modyfikują oryginalnego obiektu, lecz zwracają nowe instancje.
  3. Łączalne API: Metody w Day.js można łączyć ze sobą, dzięki czemu kod staje się bardziej czytelny i zwięzły.
  4. Internacjonalizacja: Day.js obsługuje wiele ustawień regionalnych, co pozwala na łatwą lokalizację dat i godzin.
  5. System wtyczek: Modułowy system wtyczek pozwala rozszerzać funkcjonalność Day.js bez nadmiernego rozbudowywania biblioteki podstawowej.
  6. Kompatybilność: Day.js został zaprojektowany tak, aby był kompatybilny z Moment.js pod względem API, co ułatwia migrację istniejących kodów źródłowych.

Instalacja

Day.js można łatwo zainstalować za pomocą npm lub yarn. Można go również umieścić bezpośrednio w pliku HTML za pomocą CDN.

Korzystanie z npm

npm install dayjs
SHELL

Podstawowe zastosowanie

Day.js oferuje szerokie wsparcie dla stref czasowych, umożliwiając programistom łatwe zarządzanie czasem lokalnym i precyzyjne wykonywanie zadań związanych z manipulacją czasem. Dzięki swoim zaawansowanym możliwościom analizy składniowej Day.js zapewnia dokładną interpretację wartości daty i czasu, co pozwala uzyskać wiarygodne i spójne wyniki. Niezależnie od tego, czy chodzi o odejmowanie czasu, czy aktualizowanie wartości, Day.js ułatwia pracę z datami i godzinami, zapewniając dodatkowe funkcje, takie jak tworzenie nowych instancji w celu zwiększenia elastyczności.

Przyjrzyjmy się kilku przykładom pracy z Day.js.

1. Tworzenie dat

Utworzenie nowej instancji daty w Day.js jest proste. Poniższy przykład ilustruje to:

const dayjs = require('dayjs');

// Current date and time
const now = dayjs();

// Specific date and time
const specificDate = dayjs('2023-05-25');
JavaScript

2. Formatowanie dat

Day.js zapewnia elastyczny i wydajny sposób formatowania dat:

const date = dayjs('2023-05-25');

// Format date as "YYYY-MM-DD"
console.log(date.format('YYYY-MM-DD')); // 2023-05-25

// Format date as "dddd, MMMM D, YYYY"
console.log(date.format('dddd, MMMM D, YYYY')); // Thursday, May 25, 2023
JavaScript

3. Analiza dat

Day.js może analizować obiekty daty z ciągów znaków i wyświetlać daty w różnych formatach:

const date1 = dayjs('2023-05-25');
const date2 = dayjs('05/25/2023', 'MM/DD/YYYY');

// Check if the dates are the same
console.log(date1.isSame(date2)); // true
JavaScript

4. Manipulowanie datami

Day.js umożliwia łatwą manipulację datami dzięki łańcuchowemu interfejsowi API:

const date = dayjs('2023-05-25');

// Add one week to the date
const nextWeek = date.add(1, 'week');

// Subtract one month from the date
const lastMonth = date.subtract(1, 'month');

console.log(nextWeek.format('YYYY-MM-DD')); // 2023-06-01
console.log(lastMonth.format('YYYY-MM-DD')); // 2023-04-25
JavaScript

5. Porównanie dat

Porównywanie dat w Day.js jest proste i intuicyjne:

const date1 = dayjs('2023-05-25');
const date2 = dayjs('2023-06-01');

// Check if date1 is before date2
console.log(date1.isBefore(date2)); // true

// Check if date1 is after date2
console.log(date1.isAfter(date2)); // false

// Check if date1 is the same as date2
console.log(date1.isSame(date2)); // false
JavaScript

6. Lokalizacja

Day.js obsługuje internacjonalizację (i18n) w celu pracy z różnymi ustawieniami regionalnymi:

const dayjs = require('dayjs');
const localizedFormat = require('dayjs/plugin/localizedFormat');
const localeData = require('dayjs/plugin/localeData');
const updateLocale = require('dayjs/plugin/updateLocale');

// Extend Day.js with plugins
dayjs.extend(localizedFormat);
dayjs.extend(localeData);
dayjs.extend(updateLocale);

// Set locale to French
dayjs.locale('fr');

// Display date in localized format
console.log(dayjs().format('dddd, MMMM D, YYYY')); // jeudi, mai 25, 2023

// Customize locale
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']
});

// Display date in customized localized format
console.log(dayjs().format('dddd, MMMM D, YYYY')); // jeudi, mai 25, 2023
JavaScript

Używanie Day.js z IronPDF do dodawania dat do plików PDF w Node.js

Połączenie możliwości Day.js, lekkiego pakietu biblioteki JavaScript do obsługi dat, z IronPDF, wszechstronną biblioteką do generowania i edycji plików PDF dla Node.js, pozwala programistom na wydajną obsługę dat w dokumentach PDF.

IronPDF – biblioteka PDF dla Node.js

IronPDF dla Node.js to kompleksowa biblioteka, która umożliwia programistom płynne tworzenie, edycję i interakcję z dokumentami PDF w ramach ich aplikacji Node.js. Dzięki bogatemu zestawowi funkcji IronPDF upraszcza takie zadania, jak generowanie plików PDF z HTML, adresów URL stron internetowych lub istniejących dokumentów, dodawanie tekstu, obrazów i elementów interaktywnych, a także precyzyjne konwertowanie HTML na PDF.

Day.js npm (Jak to działa dla deweloperów): Figura 2 - IronPDF

Aby uzyskać bardziej szczegółowe informacje na temat IronPDF for Node.js, odwiedź tę stronę dokumentacji.

Pierwsze kroki

Najpierw upewnij się, że masz zainstalowane niezbędne pakiety. Day.js i IronPDF można zainstalować za pomocą npm:

npm i @ironsoftware/ironpdf

Dodawanie podpisów cyfrowych z datami

IronPDF obsługuje również dodawanie podpisów cyfrowych do plików PDF. Oto jak dodać podpis z sygnaturą czasową przy użyciu 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");
})();
JavaScript

Oto wynik:

Day.js npm (Jak to działa dla deweloperów): Figura 3 - Wynik PDF

Możesz również skorzystać z gotowych przykładów kodu, aby od razu rozpocząć pracę z biblioteką w swojej aplikacji Node.js. Aby uzyskać więcej informacji, można również odwiedzić tę stronę z Dokumentacją API.

Wnioski

Day.js to potężna i wydajna biblioteka do zarządzania datami i czasem w JavaScript. Jego lekkość, obsługa niezmiennych struktur danych oraz kompatybilność z Moment.js sprawiają, że jest to atrakcyjny wybór dla programistów, którzy chcą obsługiwać operacje związane z datą i czasem bez znacznego obciążania swoich aplikacji.

Dzięki integracji Day.js z IronPDF programiści mogą z łatwością obsługiwać daty w swoich dokumentach PDF. Niezależnie od tego, czy chodzi o generowanie plików PDF z adresów URL lub ciągów HTML, czy też dodawanie podpisów cyfrowych z sygnaturami czasowymi, Day.js zapewnia prosty i wydajny sposób zarządzania datami. To połączenie zwiększa funkcjonalność aplikacji Node.js, umożliwiając solidne i dynamiczne zarządzanie dokumentami PDF.

Doświadcz IronPDF już od $999. Przekonaj się sam, jak potężne mogą być funkcje generowania i edycji plików PDF. Wypróbuj już dziś!

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta