文字列を日時に変換 StringToTime 関数

関数

変換関数

StrToTime関数も StringToTime関数と同じ処理をします。

StringToTime (StrToTime) 関数

この関数は、”yyyy.mm.dd hh:mm:ss” 形式の文字列を日時(datetime型)に変換します。

datetime型に変換することで、整数としての表示も可能になります。datetime型を整数表示にした時の値は 1970年 1月 1日以降の経過秒数になります。

データ型と構成・戻り値

datetime StringToTime(①);
datetime StrToTime(①);    // こちらでもOK

戻り値は、①の文字列を datetime型に変換した日時を返します。
①に日時が無い文字列の場合は、使用している現在のローカルPCの時刻が返されます。

引数 [1]

StringToTime (StrToTime) 関数は 1個の引数で構成されます。


引数名データ型単位初期値説明
valuestring“yyyy.mm.dd hh:mm:ss” 形式の文字列。

使用例

StringToTime関数を使った日時を含む文字列のdatetime型変換

StringToTime関数を使って日時を含む文字列を datetime型に変換します。
変換後は数値としても扱うことができます。

コード

// StringToTime関数を使った数値を含む文字列の数値変換
#property strict
void OnInit() {
string str1="2023.1.15 12:34:56"; // 日時を含む文字列
string str2="100";                // 日時を含まない文字列

Print("① 指定日時  :", StringToTime(str1));
Print("② 経過秒数  :", (long)StringToTime(str1), " 秒");
Print("③ 指定日時無し:", StringToTime(str2));
}

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

結果

②は、1970年 1月 1日以降の経過秒数です。
③は、変換する文字列に日時が含まれていないため現在のローカルPCの時刻が出力されています。

タイトルとURLをコピーしました