TimeLocal

Restituisce l'ora locale di un computer, in cui il terminale client è in esecuzione. Ci sono due varianti della funzione.

Chiamata senza parametri

datetime  TimeLocal();

Chiamata con parametro di tipo MqlDateTime

datetime  TimeLocal(
   MqlDateTime&  dt_struct      // Variabile di tipo struttura
   );

Parametri

dt_struct

[out]  Variabile di tipo struttura MqlDateTime.

Valore restituito

Valore di tipo datetime

Nota

Se la variabile MqlDateTime di tipo struttura è stata passata come parametro, viene riempita di conseguenza.

Per organizzare contatori e timers ad alta risoluzione, utilizzare la funzione GetTickCount(), che produce valori in millisecondi.

Durante il test nel tester di strategia, TimeLocal() è sempre uguale a TimeCurrent() ora del server simulata. <segmento 0241 >

Esempio:

void OnStart()
  {
//--- dichiarazione della variabile MqlDateTime che deve essere riempita con i dati dell'ora locale del PC
   MqlDateTime tm={};
   datetime    time1=TimeLocal();   // prima forma di chiamata: ora locale del PC
   datetime    time2=TimeLocal(tm); // seconda forma di chiamata: ora locale del PC con il riempimento della struttura MqlDateTime
   
//-- visualizzare nel log il risultato della ricezione dell'ora locale del PC e il riempimento della struttura con i dati corrispondenti
   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));
  /*
  risultato:
   Local time2024.04.18 19:44:09
   - Year2024
   - Month04
   - Day18
   - Hour19
   - Min44
   - Sec09
   - Day of Year108
   - Day of Week4 (THURSDAY)
  */
  }