表示: Delphi C++
表示設定

System.TDateTime

提供:XE2 API Documentation
移動: 案内, 検索

Delphi

type TDateTime = { built-in type };

C++

class RTL_DELPHIRETURN TDateTime : public TDateTimeBase

プロパティ

種類 可視性 ソース ユニット
type
class
public
System.pas
systdate.h
System System


説明

TDateTime は、Delphi の TDateTime 型に相当する C++ の型です。

TDateTime は、Delphi の TDateTime データ型と、TDateTime データ型を使用する日付/時刻関連のランタイム ライブラリ ルーチンを実装したものです。

TDateTime クラスは、日付/時刻値を格納する double 型データ メンバ val を継承します。 TDateTime 値の整数部分は、1899年12月30日からの経過日数です。 TDateTime 値の少数部分は、時刻です。 TDateTime 値でサポートされている正しい日時の上限は 12/31/9999 23:59:59:999 です。 値がこの日時を上回ると必ず、TDateTime 値を操作する大半のルーチンでエラーや例外が発生します。

TDateTime では、負の値もサポートしています。 負の値の範囲は正の値の範囲にちょうど対応しています。 そのため、Now の値(正)はその負の値 -Now とまったく同じです。 負の TDateTime 値は慎重に使用しなければなりません。 負の値を誤って使用すると、さまざまな問題を引き起こすおそれがあります。

TDateTime 値とそれに対応する日時の例を以下の表に示します。

説明
0 1899 年 12 月 30 日午前 12:00
2.75 1900 年 1 月 1 日午後 6:00
-1.25 1899 年 12 月 29 日午前 6:00
35065 1996 年 1 月 1 日午前 12:00

2 つの日付の間の日数の小数部分を求めるには、TDateTime 値のどちらも負の値でなければ 2 つの値を単に減算します。 同様に、小数で表される日数分だけ日付/時刻値を増やすには、TDateTime 値が正であれば、その小数を日付/時刻値に加算します。

負の TDateTime 値を扱う場合は、時刻部分を別個に処理する必要があります。 小数部分は、TDateTime 値の符号とは無関係に 1 日 24 時間の一部分を表します。 たとえば、1899 年 12 月 29 日の午前 6:00 は -1 + 0.25(-0.75)ではなく -1.25 です。 -1 と 0 の間の TDateTime 値は存在しません。

メモ: TDateTime で宣言されている演算子のみ使用してください。 コンパイラでは、ユーザーが独自にオーバーロードした演算子をすべて無視します。
警告: TDateTime を継承のための基底クラスとして使用することはできません。 TDateTime に機能を追加するには、ラッパー クラスを作成する必要があります。
メモ: C++ ストリーム演算子(<< および >>)を Currency で使用するには、systdate ライブラリの前に、iostream ライブラリをインクルードしなければなりません。 以下のストリーム演算子が定義されています。
 ostream& operator << (ostream& os, const TDateTime& arg);
 istream& operator >> (istream& is, TDateTime& arg);

関連項目

以前のバージョン
他の言語