Day.js npm (개발자를 위한 사용 방법)
JavaScript 에서 날짜와 시간을 다루는 것은 내장된 Date 객체의 한계와 특성 때문에 지금까지 어려운 작업이었습니다. 기본 Date 객체는 기본적인 기능을 제공하지만 사용성 측면에서 부족한 경우가 많아 개발자들이 보다 강력한 솔루션을 찾게 됩니다. 그러한 해결책 중 하나가 Day.js 입니다. Day.js는 날짜와 시간을 구문 분석, 유효성 검사, 조작 및 표시하는 데 사용되는 최소한의 JavaScript 라이브러리입니다.
이 글에서는 Day.js의 특징, 장점 및 사용법을 살펴보고, 개발자들 사이에서 Day.js가 인기 있는 선택지가 된 이유를 설명합니다.
Day.js란 무엇인가요?
Day.js 는 최신 브라우저에서 날짜와 시간을 정확하게 표시하기 위한 간단한 API를 제공하는 경량 JavaScript 라이브러리입니다. 이 라이브러리는 널리 사용되지만 훨씬 더 무거운 Moment.js API의 대안으로 설계되었습니다. Day.js는 (압축 시) 크기가 2kB에 불과하여 성능을 중시하는 애플리케이션에 매우 적합합니다. Day.js 라이브러리는 크기는 작지만 Moment.js의 훌륭한 대안이며, 가장 일반적인 사용 사례를 포괄하는 강력한 기능을 제공합니다.

주요 특징
Day.js 라이브러리의 주요 기능은 다음과 같습니다.
- 경량성: Day.js는 작은 크기와 고급 서식 옵션을 통해 애플리케이션의 속도와 효율성을 보장합니다.
- 불변성: Day.js 객체는 불변성을 가지므로, 메서드는 원본 객체를 변경하지 않고 새로운 인스턴스를 반환합니다.
- 체이닝 가능한 API: Day.js의 메서드는 서로 연결하여 사용할 수 있으므로 코드를 더 읽기 쉽고 간결하게 만들 수 있습니다.
- 국제화: Day.js는 여러 언어를 지원하여 날짜와 시간을 쉽게 현지화할 수 있습니다.
- 플러그인 시스템: 모듈식 플러그인 시스템을 통해 핵심 라이브러리를 불필요하게 복잡하게 만들지 않고도 Day.js의 기능을 확장할 수 있습니다.
- 호환성: Day.js는 Moment.js와 API 호환성을 갖도록 설계되어 기존 코드베이스를 쉽게 마이그레이션할 수 있습니다.
설치
Day.js는 npm 또는 yarn을 통해 쉽게 설치할 수 있습니다. CDN을 사용하면 HTML 파일에 직접 포함할 수도 있습니다.
npm을 사용하기
npm install dayjsnpm install dayjs기본 사용법
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');2. 날짜 형식 지정
Day.js는 날짜 형식을 지정하는 유연하고 강력한 방법을 제공합니다.
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, 2023const 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, 20233. 날짜 분석
Day.js는 문자열에서 날짜 객체를 파싱하고 다양한 형식으로 날짜를 표시할 수 있습니다.
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)); // trueconst 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)); // true4. 날짜 조작
Day.js는 체인형 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-25const 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-255. 날짜 비교
Day.js에서 날짜를 비교하는 것은 간단하고 직관적입니다.
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)); // falseconst 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)); // false6. 현지화
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');
// 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, 2023const 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, 2023Node.js 환경에서 Day.js와 IronPDF 사용하여 PDF에 날짜를 추가하는 방법
경량 JavaScript 날짜 라이브러리 패키지인 Day.js와 Node.js 용 다목적 PDF 생성 및 조작 라이브러리인 IronPDF 의 강력한 기능을 결합하면 개발자는 PDF 문서에서 날짜를 효율적으로 처리할 수 있습니다.
IronPDF - Node.js 기반 PDF 라이브러리
IronPDF for Node.js 는 개발자가 Node.js 애플리케이션 내에서 PDF 문서를 원활하게 생성, 조작 및 상호 작용할 수 있도록 지원하는 포괄적인 라이브러리입니다. IronPDF 다양한 기능을 제공하여 HTML, 웹사이트 URL 또는 기존 문서에서 PDF를 생성하고, 텍스트, 이미지 및 대화형 요소를 추가하고, HTML을 PDF로 정확하게 변환하는 등의 작업을 간소화합니다.

Node.js 용 IronPDF 에 대한 자세한 내용은 이 문서 페이지를 참조하십시오.
시작하기
먼저 필요한 패키지가 설치되어 있는지 확인하십시오. npm을 통해 Day.js와 IronPDF 설치할 수 있습니다.
npm과 @ironsoftware/ironpdf
날짜가 포함된 디지털 서명 추가하기
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");
})();다음은 출력 결과입니다.

또한 바로 사용할 수 있는 코드 예제를 활용하여 Node.js 애플리케이션에서 라이브러리를 즉시 시작할 수 있습니다. 더 자세한 내용을 살펴보려면 이 API 참조 페이지를 방문하세요.
결론
Day.js는 JavaScript 에서 날짜와 시간을 관리하기 위한 강력하고 효율적인 라이브러리입니다. 가벼운 무게, 불변 데이터 구조 지원, Moment.js와의 호환성 덕분에 이 라이브러리는 애플리케이션에 상당한 오버헤드를 추가하지 않고 날짜 및 시간 작업을 처리하려는 개발자에게 매력적인 선택입니다.
Day.js를 IronPDF 와 통합하면 개발자는 PDF 문서에서 날짜를 쉽게 처리할 수 있습니다. Day.js는 URL이나 HTML 문자열에서 PDF를 생성하거나 타임스탬프가 포함된 디지털 서명을 추가하는 등 날짜를 관리하는 간단하고 강력한 방법을 제공합니다. 이러한 조합은 Node.js 애플리케이션의 기능을 향상시켜 강력하고 동적인 PDF 문서 관리를 가능하게 합니다.
경험하기 IronPDF's 시작 가격 $799. PDF 생성 및 PDF 편집 기능이 얼마나 강력한지 직접 확인해 보세요. 오늘 바로 시도해 보세요!








