TimeToStruct

datetime 型の値(1970年1月1日から経過した秒数)を MqlDateTime 構造体の変数に変換します。

bool  TimeToStruct(
  datetime      dt,            // 日付と時刻
  MqlDateTime&  dt_struct      // 値を採用するための構造体
  );

パラメータ

dt

[in]  変換する日付値

dt_struct

[out]  MqlDateTime 構造体型の変数

戻り値

成功の場合は true、それ以外の場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。

例:

void OnStart()
 {
//--- サーバーの既知の最後の時刻を取得し、日付/時刻構造を宣言し、構造体フィールドに値を入力する
  datetime   time=TimeCurrent();
  MqlDateTime tm  ={};
  if(!TimeToStruct(time,tm))
    Print("TimeToStruct() failed. Error ", GetLastError());
 
//--- 取得したサーバー時刻と、TimeToStruct()を使用してMqlDateTime構造体に入力した結果をログに表示する
  PrintFormat("Server 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)time, 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));
 /*
  結果:
  Server time: 2024.04.18 15:47:27
  - Year: 2024
  - Month: 04
  - Day: 18
  - Hour: 15
  - Min: 47
  - Sec: 27
  - Day of Year: 108
  - Day of Week: 4 (THURSDAY)
 */
 }