時間を文字列に変換 TimeToString 関数

関数

変換関数

TimeToStr関数も TimeToString関数と同じ処理をします。

TimeToString (TimeToStr) 関数

 この関数は、datetime型(日時)を string型(文字列)に変換します。
 変換は、1970年 1月 1日からの経過時間を秒単位で含む値を「年月日時分(yyyy.mm.dd hh:mi)」形式の文字列にします。

データ型と構成・戻り値

string TimeToString(①,②);

 戻り値は、日時を文字列に変換したものを返します。

引数 [2]

 TimeToString関数は 2個の引数で構成されます。


引数名データ型単位初期値説明
valuedatetimedatetime型のデータ。
modeintTIME_DATE|TIME_MINUTES出力フォーマットの設定。
1つまたは組み合わせて指定出来ます。
初期値は、年月日と時分を組み合わせて年月日時分が表示されるようになっています。
※初期値があるものは省略可能です。省略した場合、初期値が設定されます。

出力フォーマット

フォーマットID説明
01970/1/1からの秒数を表示
1TIME_DATE年月日(yyyy.mm.dd)での表示
2TIME_MINUTES時分(hh:mi)での表示
3TIME_SECONDS時分秒(hh:mi:ss)での表示
「値」は「フォーマットID」を整数型に変換した時の数字になります。
「フォーマットID」の代わりに「値」を引数にしても表示が可能です。

フォーマットIDは初期値にあるように「|」の使用で組み合わせて使うことが出来ます。

使用例

TimeToString関数で日時を文字列に変換

 現在のサーバー時間(datetime型)を TimeToString関数を使って文字列に変換します。以下はフォーマットIDを使っていますが、フォーマットIDに対応した値でも同じ結果が得られます。

コード

// TimeToString関数で日時を文字列に変換
#property strict
void OnInit() {

   datetime s_date = TimeCurrent(); // サーバー時間
   
   Print("(Print関数での表示) ", s_date);
  
   Print("(年月日)      ",TimeToString(s_date, TIME_DATE));
   Print("(時分)       ",TimeToString(s_date, TIME_MINUTES));
   Print("(時分秒)      ",TimeToString(s_date, TIME_SECONDS));
   Print("(年月日時分)    ",TimeToString(s_date, TIME_DATE|TIME_MINUTES));
   Print("(年月日時分秒)   ",TimeToString(s_date, TIME_DATE|TIME_SECONDS));
   Print("(1970/1/1からの秒数)",TimeToString(s_date, 0));    
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

ターミナルのエキスパートタブ
タイトルとURLをコピーしました