TimeGMT

클라이언트 터미널이 실행 중인 시스템의 로컬 시간으로 DST 스위치를 고려하여 계산된 GMT를 반환. 함수의 2가지 변수가 있습니다.

매개변수 없이 호출

datetime  TimeGMT();

MqlDateTime 유형 매개변수를 사용하여 호출

datetime  TimeGMT(
   MqlDateTime&  dt_struct      // 구조 유형의 변수
   );

매개변수

dt_struct

[out]  구조 유형의 변수 MqlDateTime.

값 반환

datetime 유형의 값

주의

MqlDateTime 구조 유형 변수가 매개변수로 전달된 경우 그에 따라 채워집니다.

고해상도 카운터 및 타이머를 정렬하려면 밀리초 단위의 값을 생성하는 GetTickCount() 함수를 사용합니다.

전략 테스터에서 테스트하는 동안 TimeGMT() 는 항상 TimeTradeServer() 시뮬레이션된 서버 시간과 같습니다.

예:

void OnStart()
  {
//--- 날짜/시간 데이터로 채워질 MqlDateTime 변수를 선언하고 PC 로컬 시간과 GMT를 가져옵니다.
   MqlDateTime tm={};
   datetime    time1=TimeLocal();            // 첫 번째 호출 형식: PC 로컬 시간
   datetime    time2=TimeGMT(tm);            // 두 번째 호출 형식: MqlDateTime 구조를 채워 PC 로컬 시간에서 계산된 GMT
   int         shift=int(time1-time2)/3600;  // GMT를 기준으로 한 로컬 시간 오프셋
   
//--- 로그에 채워진 MqlDateTime 구조의 데이터로 로컬 시간과 GMT를 표시합니다.
   PrintFormat("Time Local: %s\nTime GMT: %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)\nLocal time offset relative to GMT: %+d",
               (string)time1, (string)time2tm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_week,
               EnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week), shift);
  /*
  결과:
   Time Local2024.04.18 19:37:23
   Time GMT2024.04.18 12:37:23
   - Year2024
   - Month04
   - Day18
   - Hour12
   - Min37
   - Sec23
   - Day of Year108
   - Day of Week4 (THURSDAY)
   Local time offset relative to GMT: +7
  */
  }