時刻・日付型(TDateTime型)を形式を指定して文字列に変換する - Delphi

TDateTime型をフォーマット形式を指定して文字列型に変換する場合はDateTimeToString()関数を用います。

書式

DateTimeToString([変換結果を格納するstring型変数], [フォーマット形式文字列], [変換するTDateTime型変数])
Procedureのため戻り値はありません。

コード例

procedure TForm1.Button1Click(Sender: TObject);
var
  dt:TDateTime;
  str:string;
begin
  dt:=Now;
  DateTimeToString(str, 'yyyy-MM-dd HH-mm-ss',dt);
  Edit1.Text:=str;
end;

フォーマット形式

ヘルプファイルより抜粋

指定子説明
cShortDateFormat グローバル変数で指定された形式を使って日付を表示し,次に LongTimeFormat グローバル変数で指定された形式を使って時刻を表示する。日付時刻値が午前 0 時ちょうどを示す場合,時刻は表示されない。
d日付を先頭のゼロなしで表示する(1 から 31 まで)。
dd日付を先頭のゼロも含めて表示する(01 から 31 まで)。
dddShortDayNames グローバル変数で与えられた文字列を使用して,曜日を省略形(Sun-Sat)で表示する。
ddddLongDayNames グローバル変数で与えられた文字列を使用して,曜日を完全な形(Sunday-Saturday)で表示する。
dddddShortDateFormat グローバル変数で与えられた形式で日付を表示する。
ddddddLongDateFormat グローバル変数で与えられた形式で日付を表示する。
e(Windows のみ)年を現在の年号を使って先頭にゼロのついていない数字で表示する(日本語,韓国語,および繁体字中国語の場合のみ)。
ee(Windows のみ)年を現在の年号を使って先頭にゼロのついた数字で表示する(日本語,韓国語,および繁体字中国語の場合のみ)。
g(Windows のみ)年号を省略形で表示する(日本語と繁体字中国語の場合のみ)。
gg(Windows のみ)年号を完全形で表示する。(日本語と繁体字中国語の場合のみ)。
m先頭にゼロのない数字(1-12)として月を表示する。h または hh 指定子の直後に m 指定子を指定すると,月ではなく分が表示される。
mm先頭にゼロのある数字(01-12)として月を表示する。h または hh 指定子の直後に mm 指定子を指定すると,月ではなく分が表示される。
mmmShortMonthNames グローバル変数で与えられた文字列を使用して,月を省略形(Jan-Dec)で表示する。
mmmmLongMonthNames グローバル変数で与えられた文字列を使用して,月を完全な形(January-December)で表示する。
yy年を 2 桁の数字(00-99)で表示する。
yyyy年を 4 桁の数字(0000-9999)で表示する。
h先頭にゼロのない数字(0-23)として時を表示する。
hh先頭にゼロのある数字(00-23)として時を表示する。
n先頭にゼロのない数字(0-59)として分を表示する。
nn先頭にゼロのある数字(00-59)として分を表示する。
sShortDateFormat グローバル変数で指定された形式を使って日付を表示し,次に LongTimeFormat グローバル変数で指定された形式を使って時刻を表示する。日付時刻値が午前 0 時ちょうどを示す場合,時刻は表示されない。
ss先頭にゼロのある数字(00-59)として秒を表示する。
zミリ秒を先頭のゼロなしで表示する(0 ~ 999)。
zzzミリ秒を先頭のゼロ付きで表示する(000 ~ 999)。
tShortTimeFormat グローバル変数で与えられた形式で時刻を表示する。
tt\LongTimeFormat グローバル変数で与えられた形式で時刻を表示する。
am/pm先行する h 指定子または hh 指定子に 12 時間形式の時刻値を使用し,正午以前の時間には「am」を,正午以降の時間には「pm」を表示する。am/pm 指定子は,小文字だけ,大文字だけ,または小文字と大文字の混成を使用することができ,それにしたがって結果が表示される。
a/p先行する h 指定子または hh 指定子に 12 時間形式の時刻値を使用し,正午以前の時間には「a」を,正午以降の時間には「p」を表示する。a/p 指定子は,小文字だけ,大文字だけ,小文字と大文字の混成を使用することができ,それにしたがって結果が表示される。
ampm先行する h 指定子または hh 指定子に 12 時間形式の時刻値を使用し,正午以前の時間には TimeAMString グローバル変数の値を,正午以降の時間には TimePMString グローバル変数の値を表示する。
/DateSeparator グローバル変数で与えられた日付区切り文字を表示する。
:TimeSeparator グローバル変数で与えられた時刻区切り文字を表示する。
'xx'/"xx"単引用符または二重引用符で囲まれる文字はそのまま表示され,形式設定には影響しない。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-07
作成日: 2011-01-01
iPentec all rights reserverd.