瞬間.JS VSリュクス


我々が最後に去ったところで、私はネイティブのintlオブジェクトにmomentjsを比較していて、intlがmomentjsより使用するのがより面倒であるという結論に達しましたが、より小さなフットプリントを持っているので、生産配備に適しています.Luxonがその足跡を持ってくることができるかどうか見ましょう.

ルクオン日付
Luxon 関数プログラミングのパラダイムを使用して日付と時刻の文字列を構築できるintlオブジェクトのラッパです.したがって、このようなことは可能です.
DateTime.local().setZone('America/New_York').minus({ weeks: 1 }).endOf('day').toISO();
// "2020-10-01T23:59:59.999-04:00"
ご覧のように、2020年10月8日の現在の日付を受け取り、1週間を差し引いて、深夜直前の時間まで高速に乗り換えました.その後、文字列に変換されtoISO() , チェーンのすべての前の機能は、動作するために、Luxonオブジェクトを返しました.
大まかなmomentjsコードは以下の通りです.
moment.tz("America/New_York").subtract(1, 'week').endOf('day').format()
// "2020-10-01T23:59:59-04:00"
そこにはほぼ完璧な試合がある.Luxonは、瞬間とは異なり、文字列形式の呼び出しでミリ秒を表示します.Luxonはすでに実行可能になっている.
開発者のために:Luckon日付時間機能は、以下の構造のオブジェクトを返します.これは直前の関数の戻り値ですtoISO() , すべての前の関数を通過した後、
{
  "ts": 1601611199999,
  "_zone": {
    "zoneName": "America/New_York",
    "valid": true
  },
  "loc": {
    "locale": "en-US",
    "numberingSystem": null,
    "outputCalendar": null,
    "intl": "en-US",
    "weekdaysCache": {
      "format": {},
      "standalone": {}
    },
    "monthsCache": {
      "format": {},
      "standalone": {}
    },
    "meridiemCache": null,
    "eraCache": {},
    "specifiedLocale": null,
    "fastNumbersCached": null
  },
  "invalid": null,
  "weekData": null,
  "c": {
    "year": 2020,
    "month": 10,
    "day": 1,
    "hour": 23,
    "minute": 59,
    "second": 59,
    "millisecond": 999
  },
  "o": -240,
  "isLuxonDateTime": true
}
私にとって、それはLangonが頼るように見えます"isLuxonDateTime" Luxonオブジェクトがそれに渡されたかどうかを判断するには、たとえば、番号またはリストまたはMomentJSオブジェクトが有効です.これらのどれも手動で変更する必要はありません、それをする正当な理由がありません、そして、あなたはちょうど瞬間、intlとluxonによって何度もなされた車輪を再発明しています.

リュクスオン
また、時間の持続時間を表す持続時間と呼ばれるオブジェクトをサポートします.それらはdatetimeのものに別のdatetimeを得るために加えられることができます、そして、2つのdatetimesはデュレーションオブジェクトを得るために互いから差し引かれることができます.持続時間を構築するのはとても簡単です.
var dur = Duration.fromObject({hours: 2, minutes: 7});
dur.toISO()
// "PT2H7M"
それです.パラメータはオブジェクトの内部で与えられます.また、2つの持続時間オブジェクト間の距離を測定するオブジェクト(間隔)があり、プロパティにデータを格納できます.
そして、我々はしました
最後の残りのmomentjs選択肢Day.js , より小さい足跡で瞬間の炭素コピーであるので、彼らのAPIがほとんど同一であるように、私はそれをカバーしません.
読書ありがとう.あなたがこのシリーズのポストの誤りを見たならば、私が彼らを訂正することができるように、私に知らせてください.