TimeLocal

Возвращает локальное время компьютера, на котором запущен клиентский терминал. Существует 2 варианта функции.

Вызов без параметров

datetime  TimeLocal();

Вызов с параметром типа MqlDateTime

datetime  TimeLocal(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );

Параметры

dt_struct

[out]  Переменная типа структуры MqlDateTime.

Возвращаемое значение

Значение типа datetime

Примечание

Если в качестве параметра была передана переменная типа структуры MqlDateTime, то она заполняется соответствующим образом.

Для организации счетчиков и таймеров высокого разрешения нужно использовать функцию GetTickCount(), которая выдает значения в миллисекундах.

При работе в тестере стратегий локальное время TimeLocal() всегда равно моделируемому серверному времени TimeCurrent().

Пример:

void OnStart()
  {
//--- объявим переменную MqlDateTime для заполнения данными о локальном времени компьютера
   MqlDateTime tm={};
   datetime    time1=TimeLocal();   // первая форма вызова: локальное время компьютера
   datetime    time2=TimeLocal(tm); // вторая форма вызова: локальное время компьютера с заполнением структуры MqlDateTime
   
//--- выведем в журнал результат получения локального времени компьютера и заполнения структуры соответствующими данными
   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)
   */
  }