date-fns: moment.js 대안

자바스크립트 날짜는 재미가 없습니다! 기본은 괜찮지만 일단 좀 더 복잡한 조작을 하고 싶으면 밀리세컨드(숫자)에서 날짜까지 왔다갔다 해야 합니다. 코드를 읽기 어렵게 만들고 코딩을 더 지루하게 만듭니다.

Moment.js은 날짜와 관련된 모든 자료를 모아 놓은 라이브러리였습니다. JavaScript 날짜 형식, 시간 더하기 또는 빼기, 시간대 간 변환 등. Momentjs에는 단점이 있지만 훌륭한 도구였습니다. 불행히도 팀은 현재 유지 관리 모드에 있으며 레거시 프로젝트로 간주된다고 선언하기로 결정했습니다. 우리가 대안을 찾아야 한다는 것은 딱 한 가지를 의미합니다.

최근에 date-fns을 사용하기 시작했는데 마음에 듭니다! date-fns는 JavaScript 날짜에 대한 유틸리티 함수 세트입니다. 순간과 달리 date-fns는 Date 객체를 사용하고 이를 캡슐화하기 위해 새 객체를 생성하지 않습니다.
둘째, 진정으로 일련의 기능입니다. 원하는 기능을 가져오고 Date 개체와 함께 사용합니다. 예, 예, 맞습니다. 나무를 흔드는 즉시 사용할 수 있습니다! 프로덕션 번들에는 내보내고 사용한 기능만 포함됩니다.

그들의 웹사이트에서 그들은 환상적인 몇 가지 특전을 더 언급합니다! Typescript 지원, 기본적으로 변경 불가능, 시간대와 일치, 국제화 및 현지화 지원(트리 쉐이킹 포함!) 및 기타 유용한 기능.

커뮤니티는 이미 재정적 기여자를 포함하여 181명의 기여자로 꽤 큽니다. 그 중 Addy Osmani도 찾을 수 있습니다.

코딩 시간!

import { format, formatDistance, formatRelative, subDays } from 'date-fns'

format(new Date(), "'Today is a' iiii")
//=> "Today is a Monday"

formatDistance(subDays(new Date(), 3), new Date())
//=> "3 days ago"

formatRelative(subDays(new Date(), 3), new Date())
//=> "last Friday at 7:26 p.m."

우리는 함수만 가져오고 일반 js 날짜 객체를 제공한다는 점에 유의하십시오.

moment.js로 동일한 결과를 얻으려면 다음을 수행하십시오.

import moment from 'moment';

`Today is a ${moment().format('dddd')}`
//=> "Today is a Monday"

moment().subtract(3, 'days').fromNow()
//=> "3 days ago"

moment().subtract(3, 'days').calendar();
//=> "Last Friday at 7:26 p.m."

이번에는 모든 momentjs 기능을 가진 새 객체를 생성하는 moment 함수를 가져와야 합니다. 이는 나무 흔들림이 없음을 의미하며 js 날짜 객체를 사용할 수 없습니다. 먼저 momentjs 객체로 변환해야 합니다.

나는 그것이 당신이 그것을 시도하고 당신이 그것을 좋아하는지 확인하기 위해 알아야 할 전부라고 생각합니다.

추신
진심으로 moment.js 팀에 감사드립니다! ❤️


흥미로울 수 있는 더 많은 게시물


  • Managing multiple NodeJS versions
  • My 5 Practical CSS Tips
  • Breaking The Gateway
  • Theming styled-components with CSS custom properties
  • I've made up my mind. I know how to choose my next tech stack ✨



  • Daily은 새 탭마다 최고의 프로그래밍 뉴스를 제공합니다. 우리는 당신이 미래를 해킹할 수 있도록 당신을 위해 수백 개의 검증된 소스의 순위를 매길 것입니다.

    좋은 웹페이지 즐겨찾기