Moment.js? Day.js? Javascirpt? Temporal?

Javascript에는 날짜 관련 조작Date을 하는 대상이 있지만 API는 사용하기 어려워Moment.js하기 때문에 주로 사용한다.다만, Moment.번역 파일을 포함한 js 파일의 크기가 커서 대체DAYS.JS 등으로 나타났다.또 최근 등장 예정인 템포랄 등도 있다.나는 이곳의 상황을 총결하고 싶다.

데이트 대상은 정말 사용하기 어렵습니까?


여기 요약해서 대충 봤는데 안 좋은 데가 있지만 거대한 도서관을 이용할 정도는 아닐 거예요.
Date.prototype.getDate()
    // 地方時に基づき、指定された日時の「日」 (1–31) を返します。
Date.prototype.getDay()
    // 地方時に基づき、指定された日時の「曜日」 (0–6) を返します。
Date.prototype.getFullYear()
    // 地方時に基づき、指定された日時の「年」 (4桁の年であれば4桁) を返します。
Date.prototype.getHours()
    // 地方時に基づき、指定された日時の「時」 (0–23) を返します。
Date.prototype.getMilliseconds()
    // 地方時に基づき、指定された日時の「ミリ秒」 (0–999) を返します。
Date.prototype.getMinutes()
    // 地方時に基づき、指定された日時の「分」 (0–59) を返します。
Date.prototype.getMonth()
    // 地方時に基づき、指定された日時の「月」 (0–11) を返します。
Date.prototype.getSeconds()
    // 地方時に基づき、指定された日時の「秒」 (0–59) を返します。
기본 Getter가 있습니다.
주의 사항getMonth()은 0부터 시작할 수 있습니다.자바의 영향을 받았다고 한다.
var Xmas95 = new Date('December 25, 1995 23:15:30');
var month = Xmas95.getMonth();

console.log(month); // 11
세트도 있어요.
Date.prototype.setDate()
    // 地方時に基づき、指定された日時の「日」を設定します。
Date.prototype.setFullYear()
    // 地方時に基づき、指定された日時の「年」を完全な形 (例えば、4桁の年であれば4桁) で設定します。
Date.prototype.setHours()
    // 地方時に基づき、指定された日時の「時」を設定します。
Date.prototype.setMilliseconds()
    // 地方時に基づき、指定された日時の「ミリ秒」を設定します。
Date.prototype.setMinutes()
    // 地方時に基づき、指定された日時の「分」を設定します。
Date.prototype.setMonth()
    // 地方時に基づき、指定された日時の「月」を設定します。
Date.prototype.setSeconds()
    // 地方時に基づき、指定された日時の「秒」を設定します。
Locale도 지원됩니다.
Date.prototype.toLocaleDateString()
    // システム設定の日時の「日付」部を、地域の日付書式に従った文字列に変換して返します。
Date.prototype.toLocaleFormat()
    // 書式化された文字列を使って、日時を文字列に変換します。
Date.prototype.toLocaleString()
    // 日付を地域の日付書式に従った文字列に変換して返します。Object.prototype.toLocaleString() メソッドを上書きします。
Date.prototype.toLocaleTimeString()
    // システム設定の日時の「時刻」部を、地域の日付書式に従った文字列に変換して返します。
의외로 필요한 조작을 할 수 있다.필요하기 전에 라이브러리를 사용할 필요가 없을 수도 있습니다

javascript 및 Momentjs와 DAY.JS 비교


javascript
new Date().getDate()
Moment.js
moment().date()
DAY.JS
dayjs().date()
Moment.js와 DAY.JS에는 거의 변하지 않는 인터페이스가 있다.month()javascript와 마찬가지로 0으로 시작하는 점에 주의해야 한다.
javascript와 원래의 큰 차이는dd()와weekdays() 등 편리한 방법이 있습니다.특히dd() 등 시간의 계산은 매우 편리하기 때문에 시간 계산을 사용하려면 프로그램 라이브러리를 연구하는 것이 좋다.
Moment.js
moment().add(7, 'days'); 
// 7日を足す

moment().weekday(-7); // last Monday
DAY.JS라면 Require plugon이 필요합니다.
dayjs().add(7, 'day')
// 7日を足す

var weekday = require('dayjs/plugin/weekday')
dayjs.extend(weekday)

dayjs().weekday(-7) // last Monday

Moment.js와 DAY.JS 비교


등의 메서드가 Moment입니다.제이스만 있는 것 같은데.
moment.weekdays(3)
// "Wednesday"
Timezone의 사용 방법도 다릅니다.Moment.js에는 상당히 세밀한 Timezone 지원이 있습니다. DAYS.JS는 플러그인에 대응해 ISSUE를 열었지만 FIX는 진행되지 않았다.
https://momentjs.com/timezone/docs/
https://github.com/iamkun/dayjs/issues/323
이러한 편리한 방법과 Timezone 지원이 필요한 경우 Momentjs를 연구해 볼 수 있어요.

Temporal이란?


템포랄은 ECMAScript를 만든 TC39가 새로운 규격을 제시하고, 현재 피드백을 모집 중인 규격으로, 이를 적용하면 표준 라이브러리로 활용할 수 있다.
https://blogs.igalia.com/compilers/2020/06/23/dates-and-times-in-javascript/
우리는 실제 사용 상황에 적합한 피드백을 모집하고 있으니 흥미가 있으면 반드시 피드백을 보내주세요.
npm install --save proposal-temporal
그 다음에 리퀘스트를 사용하면 됩니다.
const { Temporal } = require('proposal-temporal');
API 문서는 다음과 같습니다.
https://tc39.es/proposal-temporal/docs/
기존 프로그램 라이브러리와 달리 Dealing only with immutable objects와immutable은 우선 앞으로 시간 정보를 변경할 수 없다는 것을 특별히 써야 한다.이거 아주 편한 것 같아요.
Constore에서 Tempral을 호출하면 다음과 같은 느낌이 들 수 있습니다.

TimeZone, DateTime, Date 및 Time이 각각 분리되어 있어 편리합니다.

// IANA time zone names and UTC offsets
tz = Temporal.TimeZone.from('UTC');
tz = Temporal.TimeZone.from('Africa/Cairo');
tz = Temporal.TimeZone.from('america/VANCOUVER');
tz = Temporal.TimeZone.from('Asia/Katmandu');  // alias of Asia/Kathmandu
tz = Temporal.TimeZone.from('-04:00');
tz = Temporal.TimeZone.from('+0645');


// Converting a specific absolute time to a calendar date / wall-clock time
timestamp = new Temporal.Absolute(1553993100000000000n);
tz = new Temporal.TimeZone('Europe/Berlin');
tz.getDateTimeFor(timestamp);  // => 2019-03-31T01:45
tz.getDateTimeFor(timestamp).day;  // => 31
이렇게 하면 TimeZone을 처리할 수 있습니다.
date = Temporal.Date.from('2006-08-24');
date.plus({years: 20, months: 4})  // => 2026-12-24
날짜의 계산은 이런 느낌이다.
이런 방법이 확정되면 모멘트를 말할 수 없다.js와 DAY.JS를 사용하지 않는 날이 올지도 몰라요.
(유사한 Tempral Wrapper 라이브러리가 나타날 수 있음)

좋은 웹페이지 즐겨찾기