14 ポイント 投稿者 hongminhee 2025-01-24 | 6件のコメント | WhatsAppで共有
  1. 概要
  • JavaScript Temporal オブジェクトの実装が、ブラウザーの実験版で提供され始めている
  • Web 開発者にとって日付と時刻の処理が大幅に簡素化され、モダンになる見込み
  • スケジューリング、国際化、時間関連データを扱うアプリケーションで、効率的かつ正確な組み込み機能を利用可能
  1. JavaScript Date オブジェクトの問題点
  • 1995 年の Java の初期 java.util.Date 実装をコピーして作られた
  • ユーザーのローカル時刻と UTC のみをサポートし、タイムゾーンのサポートがない
  • パースの挙動が非常に不安定で、可変(mutable)
  • サマータイム(DST)や歴史的な暦変更の計算が難しい
  1. Temporal の主な機能
  • Date オブジェクトの完全な代替として設計
  • タイムゾーンとカレンダー表現をサポート
  • 200 を超えるユーティリティメソッドを提供
  • 変換、比較、計算、フォーマットなど多様な機能を含む
  1. ブラウザー対応状況
  • Firefox が現在もっとも成熟した実装を保有
  • Firefox Nightly バージョンで実験的機能として提供
  • Safari と Chrome も実装が進行中
  • TC39 のドキュメントページで @js-temporal/polyfill を通じて試すことができる
  1. 主要な構成要素
  • Duration: 2 つの時点の差
  • Instant: タイムスタンプ
  • ZonedDateTime: タイムゾーン付きの日付/時刻
  • PlainDateTime: タイムゾーンなしの日付/時刻
  • このほかにも多様な日付・時刻関連クラスを提供

この新しい API は、JavaScript で日付と時刻を扱うためのモダンなアプローチを提供すると期待されています。

6件のコメント

 
wkang586 2025-01-28

遅すぎた気になる相手からの返信

 
clickin 2025-01-27

最初のDate実装もJavaから持ってきて、Temporal実装もJavaのものをかなり持ってきたのに、だったらこんなに時間がかかることだったのかと思ってしまいます。
LocalDateTime が入った Java 8 が2014年なのだから、これをベースにTemporal実装がもっと早く出ていれば、さまざまなサードパーティーライブラリに断片化される必要もなかったのではと思います。

 
dicebattle 2025-01-26

おお、どこかでよく聞いたような……

 
iolothebard 2025-01-25

LocalDateTimePlainDateTime に変えたことを除けば、Java とまったく同じような…。
あれば便利ではあるけど… ここまでやることなのかは…。

 
devsepnine 2025-01-26

これまでは、複数のタイムゾーンに応じた時間管理を行うにはライブラリを使ったり、基本的にさまざまな条件を考慮して実装したりする必要がありましたが、標準でサポートされる方向に進むのは良いですね