【MQL5】StringToTime関数について

MQL5リファレンス
スポンサーリンク
スポンサーリンク

StringToTime関数の働き・役割

【広告】

StringToTime関数は、日時を表す文字列をプログラムで扱える日時の数値型(datetime型)に変換する役割を持ちます。

StringToTime関数は、特に日付や時刻を含文字列データを分析し、操作する際に役立ちます。

TimeToString関数が時刻を表す数字情報(UNIXタイム)を、文字列 形式に変換するため役割を持つのに対して、StringToTime関数はその逆の処理を行う事になります。

※このような、あるデータ型を異なる別タイプのデータ型に変換する作業のことをタイプキャスト型変換)と呼びます。タイプキャストについての詳細は↓の記事をご参照ください

StringToTime関数の引数について

StringToTime関数戻り値引数の構成は以下のようになっています。

datetime  StringToTime(
  const string  time_string      // 日付の文字列
  );

StringToTime関数は、time_stringという1つの引数を取ります。

この引数には、”yyyy.mm.dd [hh:mi]”や”yyyy.mm.dd [hh:mi:ss]”など、特定の形式で書かれた日時を表す文字列が入ります。

StringToTime関数はこの文字列を解析し、数値型(datetime型)の日時データとして扱えるように変換します。

StringToTime関数の戻り値について

StringToTime関数戻り値は、1970年1月1日からの経過秒数を含むdatetime型の値です。この値は、UNIXタイム(エポックタイム)としても知られ、多くのプログラミング言語やシステムで日時を表現する標準的な方法です。

UNIXタイムについての詳細は↓の記事をご参照ください

StringToTime関数を使う際の注意点

StringToTime関数を使う際には、入力される文字列が指定された形式に適合しているかを確認する必要があります。

形式が正しくない場合、StringToTime関数は期待される結果を返さないか、エラーを発生させる可能性があります。

また、日付と時刻の間の空白や区切り文字は、StringToTime関数によって自動的に適切に解釈されますが、予期せぬ文字列フォーマットがあると問題が起こることがあるため、注意が必要です。

StringToTime関数を使ったサンプルコード

以下は、StringToTime関数を使って日時文字列datetime型に変換するサンプルコードです。

void OnStart()
{
  string time_str = "2023.01.01 12:00";
  datetime dt = StringToTime(time_str);

  Print("変換されたUNIXタイム: ", dt);
  Print("変換された日時: ", TimeToString(dt, TIME_DATE|TIME_MINUTES));
}

このコードでは、”2023.01.01 12:00″という文字列datetime型に変換し、その結果をUNIXタイムとして表示します。また、TimeToString関数を使って、変換されたdatetime型の値を再度読みやすい日時の文字列に変換しています。

これにより、StringToTime関数の基本的な使用法を理解することができます。

<参照>

TimeToString関数/EnumToString関数/DoubleToString関数/UNIXタイム/タイムスタンプ/TimeCurrent関数/TimeLocal関数/TimeToStruct関数/MqlDateTime構造体/ENUM_TIMEFRAMES

————————————————————————————–

※当サイトでは、プログラミング経験ゼロの方でも、プログラミングの基礎から学べる

<MQL5でEAを作ろう講座>

をメインコンテンツとして展開しています。

【言語基礎編】

【中級実際にEAを作ろう編】

【発展編・MT5用EAを作る工程をカスタマイズしていく】

第0回から、順を追って勉強していけばプログラミングの経験がなくてもMQL5を使って、MT5用のEAが作れるように書いています。最初は難しいと感じるかもしれませんが、繰り返し勉強していく事で自然とスキルが身についていくはずです。興味ある方は是非ご覧ください。

【広告】

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