TimeLocal

クライアント端末が実行しているコンピュータのローカル時間を返します。この関数には 2 つのバージョンがあります。

パラメータなしでの呼び出し

datetime  TimeLocal();

MqlDateTime 型のパラメータとの呼び出し

datetime  TimeLocal(
  MqlDateTime&  dt_struct      // 構造体型の変数
  );

パラメータ

dt_struct

[out] MqlDateTime 構造体型の変数

戻り値

datetime 型の値

注意事項

MqlDateTime 構造型の変数がパラメータとして渡された場合は、それに応じて満たされます。

高解像度のカウンターとタイマーを配置するには、ミリ秒単位で値を生成する GetTickCount() 関数を使用します。

ストラテジーテスターのテスト中には TimeLocal() は常にシミュレーとされたサーバタイムの TimeCurrent() に等しいです。

例:

void OnStart()
 {
//--- PCの現地時間データを入れるMqlDateTime変数を宣言する
  MqlDateTime tm={};
  datetime   time1=TimeLocal();   // 最初の呼び出し形式:PCの現地時間
  datetime   time2=TimeLocal(tm); // 2番目の呼び出し形式:MqlDateTime構造体を埋めてPCの現地時間から計算されたGMT
 
//--- PCの現地時間を受信し、ログ内の対応するデータを構造体に入力した結果を表示する
  PrintFormat("Local time: %s\n- Year: %u\n- Month: %02u\n- Day: %02u\n- Hour: %02u\n- Min: %02u\n- Sec: %02u\n- Day of Year: %03u\n- Day of Week: %u (%s)",
              (string)time1, tm.year, tm.mon, tm.day, tm.hour, tm.min, tm.sec, tm.day_of_year, tm.day_of_week, EnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week));
 /*
  結果:
  Local time: 2024.04.18 19:44:09
  - Year: 2024
  - Month: 04
  - Day: 18
  - Hour: 19
  - Min: 44
  - Sec: 09
  - Day of Year: 108
  - Day of Week: 4 (THURSDAY)
 */
 }