System.SysUtils.FormatDateTime
Delphi
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
function FormatDateTime(const Format: string; DateTime: TDateTime;
const AFormatSettings: TFormatSettings): string;
C++
extern DELPHI_PACKAGE System::UnicodeString __fastcall FormatDateTime(const System::UnicodeString Format, System::TDateTime DateTime)/* overload */;
プロパティ
| 種類 | 可視性 | ソース | ユニット | 親 | 
|---|---|---|---|---|
| function | public | System.SysUtils.pas System.SysUtils.hpp | System.SysUtils | System.SysUtils | 
説明
TDateTime オブジェクトを整形します。
FormatDateTimeは、DateTime で指定された TDateTime 値を、Format で指定された書式で整形します。 サポートされる書式文字列に関する情報については、次の表を参照してください。
Format パラメータで指定された文字列が空の場合、TDateTime の値は、書式指定子 c が与えられたものとして整形されます。
FormatDateTime の第 1 の形式は、グローバル変数に含まれているローカライズ情報を使用するため、スレッド セーフではありません。 FormatDateTime の第 2 の形式は、AFormatSettings パラメータに含まれているローカライズ情報を参照し、スレッド セーフです。 FormatDateTime のスレッド セーフ形式を呼び出す前に、AFormatSettings にローカライズ情報を入れる必要があります。 AFormatSettings にデフォルトのローカル値セットを入れるには、TFormatSettings.Create を呼び出します。
日時書式(DateTime Format)文字列は、整形文字列に挿入される各値を表す、指定子から構成されます。 一部の指定子("d" など)は数値や文字列の形式を整えるだけです。 他の指定子("/" など)はグローバル変数からロケール固有の文字列を参照します。
次の表では、指定子が小文字で示されています。 形式では大文字と小文字が区別されませんが、例外は、"am/pm" と "a/p" 指定子です。
| 指定子 | 表示内容 | 
|---|---|
| c | ShortDateFormat グローバル変数で指定された形式で日付、それに続いて LongTimeFormat グローバル変数で指定された時刻が表示されます。 時刻が夜の 12 時ちょうどの場合は、時刻部分が表示されません。 | 
| d | 日付、頭に 0 を付けない数字(1-31)で表示。 | 
| dd | 日付、頭に 0 を付けた数字(01-31)で表示。 | 
| ddd | 曜日、ShortDayNames グローバル変数で指定された文字列を使った省略形で表示(Sun-Sat)。 | 
| dddd | 曜日、LongDayNames グローバル変数で指定された文字列を使った完全名で表示(Sunday-Saturday)。 | 
| ddddd | 日付、ShortDateFormat グローバル変数で指定された形式で表示。 | 
| dddddd | 日付、LongDateFormat グローバル変数で指定された形式で表示。 | 
| E | (Windows のみ)元号の年数、先頭に 0 を付けない数値で表示(日本語、韓国語、台湾語のロケールのみ)。 | 
| ee | (Windows のみ)元号の年数、先頭に 0 を付けた数値で表示(日本語、韓国語、台湾語のロケールのみ)。 | 
| G | (Windows のみ)元号、略語で表示(日本語と台湾語のロケールのみ)。 | 
| gg | (Windows のみ)元号、完全名で表示(日本語と台湾語のロケールのみ)。 | 
| m | 月、頭に 0 を付けない数字(1-12)で表示。 この m 指定子が、h や hh 指定子のすぐ後に続いている場合、月ではなく分が表示されます。 | 
| mm | 月、頭に 0 を付けた数字(01-12)で表示。 この mm 指定子が、h や hh 指定子のすぐ後に続いている場合、月ではなく分が表示されます。 | 
| mmm | 月名、ShortMonthNames グローバル変数で指定された文字列を使った省略形で表示(Jan-Dec)。 | 
| mmmm | 月名、LongMonthNames グローバル変数で指定された文字列を使った完全名で表示(January-December)。 | 
| yy | 年、2 桁で表示(00-99)。 | 
| yyyy | 年、4 桁で表示(0000-9999)。 | 
| h | 時間、頭に 0 を付けないで表示(0-23)。 | 
| hh | 時間、頭に 0 を付けて表示(00-23)。 | 
| n | 分、頭に 0 を付けないで表示(0-59)。 | 
| nn | 分、頭に 0 を付けて表示(00-59)。 | 
| s | 秒、頭に 0 を付けないで表示(0-59)。 | 
| ss | 秒、頭に 0 を付けて表示(00-59)。 | 
| Z | ミリ秒、頭に 0 を付けないで表示(0-999)。 | 
| zzz | ミリ秒、頭に 0 を付けて表示(000-999)。 | 
| t | 時間、ShortTimeFormat グローバル変数で指定された形式で表示。 | 
| tt | 時間、LongTimeFormat グローバル変数で指定された形式で表示。 | 
| am/pm | 12 時間制を示すために、h または hh 指定子の前に使用します。午前の場合は 'am'、午後の場合は 'pm' が表示されます。 am/pm 指定子には、小文字、大文字、またはその混合を使用でき、それに従って結果が表示されます。 | 
| a/p | 12 時間制を示すために、h または hh 指定子の前に使用します。午前の場合は 'a'、午後の場合は 'p' が表示されます。 a/p 指定子には、小文字、大文字、またはその混合を使用でき、それに従って結果が表示されます。 | 
| ampm | 前にくる h または hh 指定子に 12 時間時計を使用する時間。午前の場合には TimeAMString グローバル変数の内容、午後の場合には TimePMString グローバル変数の内容が続きます。 | 
| / | DateSeparator グローバル変数で指定される、日付区切り文字。 | 
| : | TimeSeparator グローバル変数で指定される、時刻区切り文字。 | 
| 'xx' または "xx" | 一重引用符または二重引用符で囲まれた文字は、そのまま表示され、形式指定の影響を受けません。 |