DateTimeData (クラス)
public final serializable DateTimeData {inherits Serializable}
パッケージ: CURL.LANGUAGE.DATE-TIME

時刻を表す基本クラス。DateTimeData は Curl エポックから経過した秒数および秒数の端数を記述します。0 ~ (2^63)-1 の範囲の各コンポーネント。このクラスは不変です。一般には、このクラスを直接使う代わりに、DateTimeData、およびその他の日付と時刻に関連するクラスへのインターフェイスを提供する DateTime を使用してください。

説明

部分秒は、1 秒の 1/(2^63) と定義されています。DateTimeData の部分コンポーネントは、丸 1 秒が過ぎた後の部分秒の数を表す整数です。 Windowsでは、ユーザーがシステム日付や時間を変更した場合に、その変更を反映させるインタフェースで最大 1 分かかる可能性があります。

コンストラクタ
default:整数秒と部分秒の初期値が与えられた DateTimeData オブジェクトを作成します。
コンストラクタ public {DateTimeData.default partial-second:int64 = 0, ...:int64}
from-DateTime:DateTime から作成します。
ファクトリ public implicit {DateTimeData.from-DateTime dt:DateTime}:DateTimeData
object-deserialize:
コンストラクタ public {DateTimeData.object-deserialize in:SerializeInputStream}

プロパティ
epoch-second:Curl エポック以降の秒数。これは、0 ~ (2^63)-1 の範囲 (0 と (2^63)-1 を含む) の符号付きの値です。
フィールド public-get private-set DateTimeData.epoch-second:int64
fraction:0.0 (これを含む) ~ 1.0 (これを含まない) の倍精度浮動小数点値になるようにスケールを変えられた現在の部分秒を取得します。
アクセサ public inline DateTimeData.fraction:double
partial-second:Curl エポック以降に追加された秒数の端数。各秒数の端数は、1 秒の 1/(2^63) です。これは、0 ~ (2^63)-1 の範囲 (0 と (2^63)-1 を含む) の符号付きの値です。
フィールド public-get private-set DateTimeData.partial-second:int64

クラス変数と定数
epoch-simple:この DateTimeData は、DateTimeDataLine.simple1970-01-01 00:00:00 +0000 に対応しています。
public constant DateTimeData.epoch-simple:DateTimeData ={DateTimeData {bit-sll 1 asa int64, 62}}
max:有効な DateTimeData の最大 (最後の) 値。
public constant DateTimeData.max:DateTimeData ={DateTimeData max-int64, partial-second = max-int64}
min:有効な DateTimeData の最小 (最も古い) 値。
public constant DateTimeData.min:DateTimeData ={DateTimeData 0}

メソッド
compare:別の DateTimeData と比較します。
public inline {DateTimeData.compare other:DateTimeData}:int
decimal:現在の partial-second を、指定した 10 の累乗にスケールを変え、端数を切り捨てて返します。
public {DateTimeData.decimal power:int}:int64
elapsed:別の DateTimeData または現在の時刻に対する Time の量を算出します。
public {DateTimeData.elapsed ending:#DateTimeData = null}:Time
object-describe-for-debugging:オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。
public {DateTimeData.object-describe-for-debugging}:void
object-serialize:クラス インスタンスが書き込まれるときに、シリアル化コードで呼び出されます。
public {DateTimeData.object-serialize out:SerializeOutputStream}:void
メソッド 継承 Object: object-describe



コンストラクタ詳細
default (コンストラクタ)
public {DateTimeData.default partial-second:int64 = 0, ...:int64}

整数秒と部分秒の初期値が与えられた DateTimeData オブジェクトを作成します。

...: 負でない整数としての秒の序数。この値が省略されている場合は、現在の時刻が使用されます。
partial-second: 負でない整数としての秒の序数。このパラメータはオプションです。現在の時刻から初期化する場合、既定値は現在の時刻に基づきます。それ以外の場合の既定値は 0 です。

説明

DateTimeData のインスタンスは、DateTimeDataLine によって定義されている特定のタイムライン内に存在します。タイムラインの選択またはクエリはまだできません。


from-DateTime (ファクトリ)
public implicit {DateTimeData.from-DateTime dt:DateTime}:DateTimeData

DateTime から作成します。

説明

これは DateTimedata 属性を返すだけです。
このファクトリーは、次の例のように暗黙的に呼び出すことができます。
let date:DateTimeData = {DateTime "2002-10-24"}


object-deserialize (コンストラクタ)
public {DateTimeData.object-deserialize in:SerializeInputStream}
この項目はサポートされていません。内部使用限定となっています。



プロパティ詳細
epoch-second (フィールド)
public-get private-set DateTimeData.epoch-second:int64

Curl エポック以降の秒数。これは、0 ~ (2^63)-1 の範囲 (0 と (2^63)-1 を含む) の符号付きの値です。



fraction (アクセサ)
アクセサ public inline DateTimeData.fraction:double

0.0 (これを含む) ~ 1.0 (これを含まない) の倍精度浮動小数点値になるようにスケールを変えられた現在の部分秒を取得します。



partial-second (フィールド)
public-get private-set DateTimeData.partial-second:int64

Curl エポック以降に追加された秒数の端数。各秒数の端数は、1 秒の 1/(2^63) です。これは、0 ~ (2^63)-1 の範囲 (0 と (2^63)-1 を含む) の符号付きの値です。




クラス変数と定数の詳細
epoch-simple (クラス定数)
public constant DateTimeData.epoch-simple:DateTimeData ={DateTimeData {bit-sll 1 asa int64, 62}}

この DateTimeData は、DateTimeDataLine.simple1970-01-01 00:00:00 +0000 に対応しています。



max (クラス定数)
public constant DateTimeData.max:DateTimeData ={DateTimeData max-int64, partial-second = max-int64}

有効な DateTimeData の最大 (最後の) 値。



min (クラス定数)
public constant DateTimeData.min:DateTimeData ={DateTimeData 0}

有効な DateTimeData の最小 (最も古い) 値。





メソッド詳細
compare (メソッド)
public inline {DateTimeData.compare other:DateTimeData}:int

別の DateTimeData と比較します。

説明

selfより大きい場合は -1、等しい場合は 0、self より小さい場合は 1 を返します。


decimal (メソッド)
public {DateTimeData.decimal power:int}:int64

現在の partial-second を、指定した 10 の累乗にスケールを変え、端数を切り捨てて返します。

exponent: 1 ~ 18 の範囲の 10 の累乗。exponent に 3 を使用すると、ミリ秒を0 ~ 999 の整数で返します。

説明

これは、値を epoch-seconds に繰り越す必要があるため丸めを実行しない場合に、この値を表示できる形式で取得するために使用します。丸めに適した値を取得するには、fraction ゲッターを使用します。


elapsed (メソッド)
public {DateTimeData.elapsed ending:#DateTimeData = null}:Time

別の DateTimeData または現在の時刻に対する Time の量を算出します。

ending: 通常は、それ自体を基準として将来の時点を表す DateTimeData 。この値が指定されていない場合は、現在の時刻が使用されます。

戻り値

経過した時間の量。それ自体より前の時点を ending が表す場合、この数量は負になります。


object-describe-for-debugging (メソッド)
public {DateTimeData.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 メソッドの呼び出しに戻ります。


object-serialize (メソッド)
public {DateTimeData.object-serialize out:SerializeOutputStream}:void

クラス インスタンスが書き込まれるときに、シリアル化コードで呼び出されます。

out: このメソッドを呼び出した SerializeOutputStream

説明

このメソッドは、次のステップを順番に実行する必要があります。
  1. SerializeOutputStream.write-class-version を呼び出します。通常は引数にゼロ (0) を指定します。
  2. シリアル化可能なスーパークラスごとに super.object-serialize を呼び出します。
  3. シリアル化された状態を out に書き込みます。これは通常、フィールドごとに SerializeOutputStream.write-one を呼び出すことによって実行されます。

注意事項

このメソッドは、シリアル化可能なサブクラスでのみ定義する必要があります。