안녕하세요. 회사에 인턴쉽(마친 후 블로그에 작성하겠습니다!!)을 하는 4일차입니다. 아직 프로젝트가 세팅 단계라 크게 할 일이 없어서 교내 프로젝트 도담도담에서 사용하는 Date관련 유틸리티를 NPM패키지로 제작하여 배포했습니다
dtil
simple date util
www.npmjs.com
해당 페이지를 참고하면 사용법을 확인할 수 있습니다.
이 라이브러리를 만들게된 계기는 기존 도담도담에서 사용한 moment.js로 인한 이슈가 있었기 때문입니다.
moment를 사용하여 TZ(타임존)의 문제로 실제 서비스에서 큰 타격이 있었고, 그로 인해 서비스 점검을 공지하고 백엔드 단의 moment를 걷어냈습니다.

이렇게 moment를 걷은 후 새로운 버전에서는 직접 제작한 Date관련 유틸리티를 사용했습니다. 하지만 매번 프로젝트마다 이 유틸리티를 작성할 수 없다고 생각이 들어 npm으로 배포를 했습니다.
아래는 Document를 그대로 작성했습니다.
Dtil
npm package simple date util
Installing
Using npm
$ npm install dtil
Using yarn
$ yarn add dtil
Example
Import
You can import function. Imported function return Dtil
class object.
ES5
const dtil = require('dtil');
const aDtil = dtil('2020-08-28'); // Date string
const bDtil = dtil(new Date('2020-08-28')); // Date object
const cDtil = dtil(new Date('2020-08-28').getTime()); // number
ES6
import dtil from 'dtil';
const aDtil = dtil('2020-08-28'); // Date string
const bDtil = dtil(new Date('2020-08-28')); // Date object
const cDtil = dtil(new Date('2020-08-28').getTime()); // number
Format
char | description |
---|---|
yyyy / YYYY | year |
MM | two-digit month |
M | month |
dd / DD | two-digit date |
d / D | date |
HH | two-digit hour(24) |
H | hour(24) |
hh | two-digit hour(12) |
h | hour(12) |
mm | two-digit minute |
m | minute |
SS / ss | two-digit second |
S / s | second |
Usage
const dtil = require('dtil');
const date = dtil('2020-08-28');
console.log(date.format('yyyy/MM/dd')); // result: '2020/08/28'
Method
method | return type | description |
---|---|---|
format | string | format date string |
isSameDate | boolean | check date and param is same date |
isAfter | boolean | check date is after param |
isAfterNow | boolean | check date is after now |
isBefore | boolean | check date is before param |
isBeforeNow | boolean | check date is before now |
위와 같이 간단하게 Date를 포맷하고 비교할 수 있습니다. 앞으로 꾸준한 업데이트를 하며 사용해야겠습니다.
'개발' 카테고리의 다른 글
HTTPS의 작동 원리 (0) | 2021.04.27 |
---|---|
[Redis] Redis 설치 및 간단한 사용 방법 (Mac) (2) | 2021.03.16 |
Git-flow를 사용한 프로젝트 관리 (0) | 2020.12.02 |
Docker(도커) + Node.js 배포 (2) | 2020.08.11 |
웹과 인터넷, 차이점 (0) | 2020.06.21 |