esspec

第91回 ECMAScript仕様輪読会

1. 前回の振り返り

本格的な読み合わせに入る前に、前回(ES2026に含まれる予定の機能など)の振り返りが行われました。

ここから今回のメインコンテンツである仕様の読み合わせが開始されました。以下の定数は、後続のセクションのアルゴリズムで参照されます。

定数名 値 説明
HoursPerDay 24 1日の時間数
MinutesPerHour 60 1時間の分数
SecondsPerMinute 60 1分の秒数
msPerSecond 1000 (1000𝔽) 1秒のミリ秒数
msPerMinute 60000 (60000𝔽) 1分のミリ秒数
msPerHour 3600000 (3600000𝔽) 1時間のミリ秒数
msPerDay 86400000 (86400000𝔽) 1日のミリ秒数

3. 日付と時刻の計算 (Abstract Operations)

Day ( t )

有限のTime Value t (ミリ秒) を受け取り、エポック(1970年1月1日)からの経過日数を返します。

TimeWithinDay ( t )

その日の始まりから経過したミリ秒数を返します。

DaysInYear ( y )

ある年 y が何日あるかを返します(365 または 366)。

DayFromYear ( y )

年 y の1月1日が、エポックから何日目にあたるかを計算します。

TimeFromYear ( y )

年 y の開始時刻(ミリ秒)を返します。

YearFromTime ( t )

時刻 t が属する「年」を返します。

DayWithinYear ( t )

時刻 t がその年の中で何日目か(0始まり)を返します。

InLeapYear ( t )

時刻 t がうるう年に属するかどうかを返します。

MonthFromTime ( t )

時刻 t が属する「月」を返します(0 = 1月, 11 = 12月)。

WeekDay ( t )

時刻 t の曜日を返します(0 = 日曜日 〜 6 = 土曜日)。

時刻コンポーネントの取得

以下の操作は、時刻 t から各単位の値を抽出します。


4. GetUTCEpochNanoseconds

(新しいTemporal APIなどに関連する)年、月、日、時、分、秒、ミリ秒、マイクロ秒、ナノ秒を受け取り、UTCエポックからのナノ秒単位の経過時間をBigIntで返す操作。


5. Time Zone Identifiers (タイムゾーン識別子)

定義と構成

Primary vs Non-Primary

実装への要求

議論


ここで時間が来たため、次回は GetNamedTimeZoneEpochNanoseconds から読み進めることとなり、終了しました。