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)time1tm.yeartm.montm.daytm.hourtm.mintm.sectm.day_of_yeartm.day_of_weekEnumToString((ENUM_DAY_OF_WEEK)tm.day_of_week));
   /*
   результат:
   Local time2024.04.18 19:44:09
   - Year2024
   - Month04
   - Day18
   - Hour19
   - Min44
   - Sec09
   - Day of Year108
   - Day of Week4 (THURSDAY)
   */
  }