Funkcja void TimeToStruct() dokonuje konwersji wartości typu datetime do zmiennej struktury MqlDateTime . Więcej informacji można znaleźć w specyfikacji MQL4.
#property strict
void OnStart()
{
//---
datetime date = D'2012.03.01 12:34:56';
//--- utworzenie struktury structDate typu MqlDateTime
MqlDateTime structDate;
//--- przeniesienie date do struktury structDate
TimeToStruct(date, structDate);
//--- kopiowanie danych ze struktury do zmiennych
int structYear = structDate.year; // rok
int structMonth = structDate.mon; // miesiąc
int structDay = structDate.day; // dzień
int structHours = structDate.hour; // godziny
int structMinutes = structDate.min; // minuty
int structSeconds = structDate.sec; // sekundy
int structDayOfWeek = structDate.day_of_week; /* dzień tygodnia
0-nd, 1-pn, 2-wt
3-śr, 4-czw, 5-pt, 6-sob */
int structDayOfYear = structDate.day_of_year; // dzień roku
//--- wyświetlić wynik
Print("1) Data = ",TimeToString(date, TIME_DATE|TIME_MINUTES|TIME_SECONDS));
Print("2) rok = ",structYear);
Print("3) miesiąc = ",structMonth);
Print("4) dzień = ",structDay);
Print("5) godziny = ",structHours);
Print("6) minuty = ",structMinutes);
Print("7) sekundy = ",structSeconds);
Print("8) dzień tygodnia = ",structDayOfWeek);
Print("9) dzień roku = ",structDayOfYear);
}
Rys. 1. Przykład stosowania funkcji TimeToStruct().
Jeśli trzeba przekonwertować MqlDateTime do wartości typu datetime należy zastosować funkcję StructToTime() .