日付の表現


Core Foundation では、時間を 5 つの異なる表現方法で作業することができます。



CFAbsoluteTime


CFAbsoluteTime は、特定の時点を参照する必要がある場合に便利です。CFAbsoluteTime 値は、2001 年 1 月 1 日 00:00:00 GMT の参照日付を基準とした時間を秒数で表します。正の値は基準日の後の日付を表し、負の値はその前の日付を表します。


絶対時間値は文字通り時間間隔 (基準日からの秒数) ですが、特定の瞬間として解釈されるため、絶対的な時間は初め混乱する可能性があります。たとえば、絶対時刻 -32940326 は、1999 年 12 月 16 日 17:54:34 に日付と時刻の両方を示します。絶対時間値は、日付または時間を独立して参照するためには使用できません。常に日付と時間の両方を含みます。


CFAbsoluteTime は double として実装され、標準の C 比較演算子を使用して別の絶対時間と比較できます。


CFTimeInterval


CFTimeInterval は、継続時間を測定する必要がある場合に適しています。CFTimeInterval は、経過時間を秒単位で表します。CFAbsoluteTime と同様に、CFTimeInterval は C の型 double を使用して実装されているため、標準の C 比較演算子を使用して 2 つの CFTimeInterval 値を比較できます。


CFGregorianDate


CFGregorianDate は、1582 年以来、ヨーロッパおよび西半球で一般的に使用されているグレゴリオ暦を使用して時間を表します。CFGregorianDate は、年、月、日、時、分、秒のそれぞれのフィールドを持つ C の構造体として実装されます。CFGregorianDate のフィールドのいずれかまたはすべてを有効にできます。グレゴリオ暦の日付は、絶対時刻との間で変換することもできます。


CFGregorianUnits


CFGregorianUnits は、CFTimeInterval に似ていますが、特定の時点ではなく継続時間を表します。CFGregorianDate と同様に、CFGregorianUnits は C の構造体として実装されていますが、フィールドのデータ型が異なるため、より大きな値を使用できます。たとえば、CFGregorianDate は 52 週以上、または 24 時間を超えることはありません。そのため、CFGregorianDate 構造体のフィールドは、その最大値に適した最小のデータ型を使用して実装されます。CFGregorianUnits は任意の時間間隔を表すことを目的としているため、32 ビット整数で実装されています (小数値では double 型の秒を除く)。


CFDate


Core Foundation のプロパティリストに日付を配置する必要がある場合は、型が CFDate でなければなりません。CFDate オブジェクトは、単に Core Foundation の不透明型として "包み込まれた" 絶対時間です。グレゴリオ暦の日付は、まず絶対時間に変換されなければなりません。その後、CFDate オブジェクトになることができます。CFDate オブジェクトは、標準の Core Foundation 比較関数を使用して別の CFDate と比較することができます。CFDate は絶対時間でのみ作成でき、CFTimeInterval 値はサポートされていないことに注意してください。通常の浮動小数点値を CFTimeInterval のように包み込むには、CFNumber を使用して下さい。CFDate オブジェクトは不変です。


前の章 次の章



目次
Xcode の新機能

  • 序言
  • この文書の対象読者
    この文書の構成
  • 日付の表現
  • CFAbsoluteTime
    CFTimeInterval
    CFGregorianDate
    CFGregorianUnits
    CFDate
    時間帯
    日付の使用
    文書改訂履歴












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)












    トップへ(Copy Foundation)