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個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | value | string | - | - | “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の時刻が出力されています。