DateTimeInfo (クラス)
public final DateTimeInfo
パッケージ: CURL.LANGUAGE.DATE-TIME

特定の DateTimeData および DateTimeZone に関連付けられているカレンダー時刻を示すクラス。このクラスは不変です。

説明

カレンダーの日付は、ISO 8601 の日付の規格に準拠します。ゲッター month-of-year および day-of-week は 1 から始まります。週の最初の曜日は月曜日です。

コンストラクタ
default:新しい DateTimeInfo を作成します。DateTimeZone を提供して、標準的な DateTimeInfo を作成することもできます。特定のカレンダーの日時を提供して、非標準的な DateTimeInfo を作成することもできます。
コンストラクタ public {DateTimeInfo.default
data:#DateTimeData = null,
zone:#DateTimeZone = null,
year:int64 = 1970,
month:int = 1,
day:int = 1,
hour:int = 0,
minute:int = 0,
second:int = 0,
partial-second:int64 = 0,
dst:DateTimeInfoDstState = DateTimeInfoDstState.unknown
}

プロパティ
canonical?:この DateTimeInfo が標準的なフォームになっている場合は true。
フィールド public-get private-set DateTimeInfo.canonical?:bool
day:カレンダー時刻の日の部分。
フィールド public-get package-set DateTimeInfo.day:int
day-of-week:月曜日が 1 から始まるように、曜日を数字で返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.day-of-week:int
day-of-year:1 から始まる通日を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.day-of-year:int
dst-state:dst (夏時間) フィールドの状態を返します。
アクセサ public DateTimeInfo.dst-state:DateTimeInfoDstState
fraction:DateTimeData の、関連付けられている fraction メソッドに保存されている秒の小数部を返します。
アクセサ public DateTimeInfo.fraction:double
hour:カレンダー時刻の時間部分。
フィールド public-get package-set DateTimeInfo.hour:int
iso-date:yyyy-mm-dd という形式の日付の String 表現を返します。
アクセサ public DateTimeInfo.iso-date:String
iso-full:yyyy-mm-dd hh:mm:ss.ssssss +hhmm という形式の日付と時刻の String 表現を返します。
アクセサ public DateTimeInfo.iso-full:String
iso-time:hh:mm:ss という形式の時刻の String 表現を返します。
アクセサ public DateTimeInfo.iso-time:String
locale-date:現在のロケールの設定フォーマットでの日付の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.locale-date:String
locale-full:現在のロケールの設定フォーマットでの日付と時刻の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.locale-full:String
locale-month:月の名前を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。このメソッドは、現在のロケールを調べて名前を決定します。
アクセサ public DateTimeInfo.locale-month:String
locale-time:現在のロケールの設定フォーマットでの時刻の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.locale-time:String
locale-weekday:曜日の名前を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。このメソッドは、現在のロケールで曜日の名前を調べます。
アクセサ public DateTimeInfo.locale-weekday:String
long-year:カレンダー時刻の年の部分。
フィールド public-get package-set DateTimeInfo.long-year:int64
microsecond:partial-second の最後のマイクロ秒部分の数を返します。
アクセサ public DateTimeInfo.microsecond:int
millisecond:partial-second の最後のミリ秒の部分の数を返します。
アクセサ public DateTimeInfo.millisecond:int
minute:カレンダー時刻の分の部分。
フィールド public-get package-set DateTimeInfo.minute:int
month:カレンダー時刻の月の部分。
フィールド public-get package-set DateTimeInfo.month:int
partial-second:DateTimeData に定義されている秒数の端数を返します。
アクセサ public DateTimeInfo.partial-second:int64
second:カレンダー時刻の秒の部分。
フィールド public-get package-set DateTimeInfo.second:int
timezone-name:時間帯の名前を返します。UTC 時間帯の場合、これは utc-offset-string と同じです。
アクセサ public DateTimeInfo.timezone-name:String
us-date:mm/dd/yy という形式の日付の String 表現を返します。月と日のフィールドの先頭の 0 は省略されます。年は常に 2 桁です。
アクセサ public DateTimeInfo.us-date:String
us-full:mm/dd/yy hh:mm[am,pm] という形式の日付と時刻の String 表現を返します。月、日、時のフィールドの先頭の 0 は省略されます。年は常に 2 桁です。
アクセサ public DateTimeInfo.us-full:String
us-time:hh:mm[am,pm] という形式の時刻の String 表現を返します。時刻フィールドの先頭の 0 は省略されます。
アクセサ public DateTimeInfo.us-time:String
utc-offset-minutes:同等の UTC カレンダー時刻からの、このカレンダー時刻の分のオフセットを返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.utc-offset-minutes:int
utc-offset-string:同等の UTC カレンダー時刻からの、このカレンダー時刻のオフセットを ISO 8601 文字列として返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。
アクセサ public DateTimeInfo.utc-offset-string:String
year:カレンダー時刻の年の部分。
アクセサ public final DateTimeInfo.year:int
セッター package final inline DateTimeInfo.year:int

メソッド
decimal:関連付けられている DateTimeData で 10 進値で表される時刻の秒の小数部を返します。
public {DateTimeInfo.decimal power:int}:int64
modify-clone:特定の値をオーバーライドするときに、DateTimeInfo のこのインスタンスをクローン化します。これは、一定の時が経過した未来の DateTimeInfo、または特定の年の特定の日の DateTimeInfo を作成するために使用できます。
public {DateTimeInfo.modify-clone
new-year:int64 = 0,
new-month:int = 0,
new-day:int = 0,
new-hour:int = 0,
new-minute:int = 0,
new-second:int = 0,
new-partial-second:int64 = 0,
new-dst:DateTimeInfoDstState = DateTimeInfoDstState.unknown
}:DateTimeInfo
object-describe-for-debugging:オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。
public {DateTimeInfo.object-describe-for-debugging}:void
week-of-year:ISO 8601 によって定義されているとおりに年の週を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。ある暦年の日が実際は別の年に含まれる週に入る可能性があるので、年も返されます。例えば、1999 年の第 1 週は 1 月 4 日の月曜日から始まるので、1999 年の 1 月 2 日は 1998 年の第 53 週に入ります。
public {DateTimeInfo.week-of-year}:(int, int)
メソッド 継承 Object: object-describe, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {DateTimeInfo.default
data:#DateTimeData = null,
zone:#DateTimeZone = null,
year:int64 = 1970,
month:int = 1,
day:int = 1,
hour:int = 0,
minute:int = 0,
second:int = 0,
partial-second:int64 = 0,
dst:DateTimeInfoDstState = DateTimeInfoDstState.unknown
}

新しい DateTimeInfo を作成します。DateTimeZone を提供して、標準的な DateTimeInfo を作成することもできます。特定のカレンダーの日時を提供して、非標準的な DateTimeInfo を作成することもできます。

data: 初期化に使用する DateTimeData への参照。指定される場合は zone が必須パラメータであり、その他のすべてのパラメータは無視されます。
zone: 初期化に使用するDateTimeZone への参照。指定されている場合は data が必須パラメータであり、その他のすべてのパラメータは無視されます。
year: 年、既定値は 1970 です。
month: 年の月、既定値は 1 です。
day: 月の日付、既定値は 1 です。
hour: 時刻の時の数字、既定値は 0 です。
minute: 時刻の分の数字、既定値は 0 です。
second: 時刻の秒の数字、既定値は 0 です。
partial-second: DateTimeData で定義されている秒数の端数。
dst: DateTimeInfoDstState からの明示的な dst 選択。これは、夏時間によって起こるオーバーラップを明確にするために使用できます。既定値は、必要に応じて推測されます。

説明

このオブジェクトは、抽象的なカレンダー情報 (それが非標準的である場合) または特定の時刻 (標準的である場合) のどちらかを示すことができます。標準的なインスタンスを作成する唯一の方法は、DateTimeDataDateTimeZone を使用する方法です。標準的なインスタンスの方が、利用できる情報は多くなります (day-of-week など)。標準的なインスタンスは、まず DateTimeData オブジェクトを作成した後、作成できることに注意してください。非標準的なインスタンスを使用するときは、数字を正常範囲内に収める必要はありません。これによって、たとえば、年の境界を扱わなくても月の数字を追加したりすることができます。DateTimeInfoDateTimeData の作成に使用される場合、提供される DateTimeZone のコンテキスト内で適切な調整が施されます。



プロパティ詳細
canonical? (フィールド)
public-get private-set DateTimeInfo.canonical?:bool

この DateTimeInfo が標準的なフォームになっている場合は true。

説明

このフィールドは、このインスタンスが DateTimeData および DateTimeZone から作成されたときに設定されます。


day (フィールド)
public-get package-set DateTimeInfo.day:int

カレンダー時刻の日の部分。



day-of-week (アクセサ)
アクセサ public DateTimeInfo.day-of-week:int

月曜日が 1 から始まるように、曜日を数字で返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。



day-of-year (アクセサ)
アクセサ public DateTimeInfo.day-of-year:int

1 から始まる通日を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。



dst-state (アクセサ)
アクセサ public DateTimeInfo.dst-state:DateTimeInfoDstState

dst (夏時間) フィールドの状態を返します。

戻り値

日付と時刻が夏時間内にある場合、true


fraction (アクセサ)
アクセサ public DateTimeInfo.fraction:double

DateTimeData の、関連付けられている fraction メソッドに保存されている秒の小数部を返します。

戻り値

関連付けられている DateTimeData オブジェクトによって、小数値 (つまり 0 < 値 < 1) として示される秒の小数部。


hour (フィールド)
public-get package-set DateTimeInfo.hour:int

カレンダー時刻の時間部分。



iso-date (アクセサ)
アクセサ public DateTimeInfo.iso-date:String

yyyy-mm-dd という形式の日付の String 表現を返します。



iso-full (アクセサ)
アクセサ public DateTimeInfo.iso-full:String

yyyy-mm-dd hh:mm:ss.ssssss +hhmm という形式の日付と時刻の String 表現を返します。



iso-time (アクセサ)
アクセサ public DateTimeInfo.iso-time:String

hh:mm:ss という形式の時刻の String 表現を返します。



locale-date (アクセサ)
アクセサ public DateTimeInfo.locale-date:String

現在のロケールの設定フォーマットでの日付の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。



locale-full (アクセサ)
アクセサ public DateTimeInfo.locale-full:String

現在のロケールの設定フォーマットでの日付と時刻の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。

説明

locale-full の結果は、locale-datelocale-time の組み合わせと同じであるとは限らないことに注意してください。


locale-month (アクセサ)
アクセサ public DateTimeInfo.locale-month:String

月の名前を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。このメソッドは、現在のロケールを調べて名前を決定します。



locale-time (アクセサ)
アクセサ public DateTimeInfo.locale-time:String

現在のロケールの設定フォーマットでの時刻の String 表現を返します。これを非標準的なインスタンスで呼び出すとエラーが発生します。



locale-weekday (アクセサ)
アクセサ public DateTimeInfo.locale-weekday:String

曜日の名前を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。このメソッドは、現在のロケールで曜日の名前を調べます。



long-year (フィールド)
public-get package-set DateTimeInfo.long-year:int64

カレンダー時刻の年の部分。



microsecond (アクセサ)
アクセサ public DateTimeInfo.microsecond:int

partial-second の最後のマイクロ秒部分の数を返します。



millisecond (アクセサ)
アクセサ public DateTimeInfo.millisecond:int

partial-second の最後のミリ秒の部分の数を返します。

注意事項

DateTimeData オブジェクトに格納された小数秒の値からミリ秒を抽出するときは、丸めは行われません。


minute (フィールド)
public-get package-set DateTimeInfo.minute:int

カレンダー時刻の分の部分。



month (フィールド)
public-get package-set DateTimeInfo.month:int

カレンダー時刻の月の部分。



partial-second (アクセサ)
アクセサ public DateTimeInfo.partial-second:int64

DateTimeData に定義されている秒数の端数を返します。



second (フィールド)
public-get package-set DateTimeInfo.second:int

カレンダー時刻の秒の部分。



timezone-name (アクセサ)
アクセサ public DateTimeInfo.timezone-name:String

時間帯の名前を返します。UTC 時間帯の場合、これは utc-offset-string と同じです。

説明

ローカル時刻で操作する場合、時間帯の名前は、夏時間の状態によって変わる可能性があります。ローカルの時間帯に名前がない可能性もあります。この場合は、NULL 参照が返されます。


us-date (アクセサ)
アクセサ public DateTimeInfo.us-date:String

mm/dd/yy という形式の日付の String 表現を返します。月と日のフィールドの先頭の 0 は省略されます。年は常に 2 桁です。



us-full (アクセサ)
アクセサ public DateTimeInfo.us-full:String

mm/dd/yy hh:mm[am,pm] という形式の日付と時刻の String 表現を返します。月、日、時のフィールドの先頭の 0 は省略されます。年は常に 2 桁です。



us-time (アクセサ)
アクセサ public DateTimeInfo.us-time:String

hh:mm[am,pm] という形式の時刻の String 表現を返します。時刻フィールドの先頭の 0 は省略されます。



utc-offset-minutes (アクセサ)
アクセサ public DateTimeInfo.utc-offset-minutes:int

同等の UTC カレンダー時刻からの、このカレンダー時刻の分のオフセットを返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。



utc-offset-string (アクセサ)
アクセサ public DateTimeInfo.utc-offset-string:String

同等の UTC カレンダー時刻からの、このカレンダー時刻のオフセットを ISO 8601 文字列として返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。

戻り値

±hhmm フォーマットのオフセット。


year (アクセサ)
アクセサ public final DateTimeInfo.year:int
セッター package final inline DateTimeInfo.year:int

カレンダー時刻の年の部分。

説明

int で表現できない年数の場合は、DateTimeInfo.long-year を代わりに使用します。





メソッド詳細
decimal (メソッド)
public {DateTimeInfo.decimal power:int}:int64

関連付けられている DateTimeData で 10 進値で表される時刻の秒の小数部を返します。

power: 返される小数秒の桁数 (つまり小数値に乗算される 10 の累乗)。

戻り値

指定された桁数による、この DateTimeInfo によって表される秒の小数部分。

注意事項

小数値から 10 進数に変換されるときは丸めは行われません。


modify-clone (メソッド)
public {DateTimeInfo.modify-clone
new-year:int64 = 0,
new-month:int = 0,
new-day:int = 0,
new-hour:int = 0,
new-minute:int = 0,
new-second:int = 0,
new-partial-second:int64 = 0,
new-dst:DateTimeInfoDstState = DateTimeInfoDstState.unknown
}:DateTimeInfo

特定の値をオーバーライドするときに、DateTimeInfo のこのインスタンスをクローン化します。これは、一定の時が経過した未来の DateTimeInfo、または特定の年の特定の日の DateTimeInfo を作成するために使用できます。

new-year: 設定される新しい暦年。既定値は元のインスタンスと同じ年です。この値は正常範囲にある必要はありません。
new-month: 設定される新しい暦月。既定値は元のインスタンスと同じ月です。この値は正常範囲にある必要はありません。
new-day: 設定される新しい暦日。既定値は元のインスタンスと同じ日です。この値は正常範囲にある必要はありません。
new-hour: 設定される新しいカレンダーの時。既定値は元のインスタンスと同じ時です。この値は正常範囲にある必要はありません。
new-minute: 設定される新しいカレンダーの分。既定値は元のインスタンスと同じ分です。この値は正常範囲にある必要はありません。
new-second: 設定される新しいカレンダーの秒。既定値は元のインスタンスと同じ秒です。この値は正常範囲にある必要はありません。
new-partial-second: 設定される新しいカレンダーの秒数の端数。既定値は元のインスタスと同じ秒数の端数です。この値は正常範囲にある必要はありません。

説明

作成される DateTimeInfo は、値が実際には変更されない場合でも、標準的にはなりません。このクラスは不変なので、変更されない標準的なクローンは決して必要ではありません。

注意事項

このメソッドの名前は変更される可能性があります。


object-describe-for-debugging (メソッド)
public {DateTimeInfo.object-describe-for-debugging}:void

オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。

out: 文字が送られるストリーム。
locale: self の表示方法をコントロールする Locale

説明

このメソッドは、一般に、"%y" フォーマット キーを使用して間接的に起動されます。"%y" フォーマット キーは、このメソッドによって生成された結果を、次のような何らかの型またはアドレス情報でラップします。
{do
    let buf:StringBuf = {StringBuf}
    {self.object-describe-for-debugging buf, {get-syntax-locale}}
    {format out = out, "[<type> @<addr> %s]", buf}
}
このメソッドの既定の実装では
{format out = out, "%w", self} を呼び出します。
(「%w」フォーマット キーの詳細については、format を参照してください)。
これが FormatFailedException を取得する場合、通常ユーザー定義のクラスのように、このメソッドは object-describe メソッドの呼び出しに戻ります。


week-of-year (メソッド)
public {DateTimeInfo.week-of-year}:(int, int)

ISO 8601 によって定義されているとおりに年の週を返します。このメソッドを非標準的なインスタンスで呼び出すとエラーが発生します。ある暦年の日が実際は別の年に含まれる週に入る可能性があるので、年も返されます。例えば、1999 年の第 1 週は 1 月 4 日の月曜日から始まるので、1999 年の 1 月 2 日は 1998 年の第 53 週に入ります。

戻り値

返される最初の値は、その週が属する年です。2 つ目の戻り値は、その年の週です。

説明

ISO 8601 は、週は月曜から始まると定義しています。第 1 週は、1 月 4 日を含む週です。1 月 4 日より前の数日は、現在の年の第 1 週か、前の年の最終週に含まれる可能性があります。年の最終週に木曜日が含まれていない場合は、その週は翌年の第 1 週となります。