Funkcje konwersji:   StringToTime()

Funkcja datetime StringToTime() konwertuje tekst, zawierający datę i/lub czas w formacie "yyyy.mm.dd hh:mi", do wartości daty i czasu typu datetime . Więcej informacji można znaleźć w specyfikacji MQL4.


Przykład 1

#property strict
void OnStart()
  {
   string A = "2010.01.01 12:00";

//--- przekształcić wartość tekstową do wartości typu datetime
   datetime AA = StringToTime(A);

//--- sprawdzić czy wybrana data znajduje się w przyszłości czy w przeszłości
   if(AA > TimeCurrent())
      Print("Wybrany czas ",A," znajduje się w przyszłości. Teraz jest ",TimeToString(TimeCurrent()));

   if(AA < TimeCurrent())
      Print("Wybrany czas ",A," znajduje się w przeszłości. Teraz jest ",TimeToString(TimeCurrent()));
  }

Rys. 1. Przykład stosowania funkcji StringToTime().


Jeśli wartość tekstową zapisać jako "yyyy.mm.dd", wtedy godzina i minuta "hh:mi" zostaną potraktowane jako 00:00 (rys. 2, przykład 2). Jeśli zapisać tylko "hh:mi", wtedy to będzie godzina i minuta dnia dziesiejszego (rys. 2, przykład 3).


Przykład 2

#property strict
void OnStart()
  {
   string DateTimeValue = "2010.01.01 12:00";
   string DateValue     = "2010.01.01";
   string TimeValue     = "12:00";

//--- przekształcić wartości tekstowe do wartości typu datetime
   datetime DTV = StringToTime(DateTimeValue);
   datetime DV  = StringToTime(DateValue);      // godzina i minuta = 00:00
   datetime TV  = StringToTime(TimeValue);      // data = dzisiejszy dzień

//--- wyświetlić wartości
   Print("1) Data i czas (DTV) = ",TimeToString(DTV,TIME_DATE|TIME_MINUTES));
   Print("2) Data i czas (DV) = ", TimeToString(DV, TIME_DATE|TIME_MINUTES));
   Print("3) Data i czas (TV) = ", TimeToString(TV, TIME_DATE|TIME_MINUTES));
  }

Rys. 2. Przykłady stosowania funkcji StringToTime().


Jeśli trzeba przekonwertować wartość daty i czasu do wartości tekstowej, należy zastosować funkcję TimeToString() . Zobacz lekcję 7.3. Konwersja za pomocą funkcji.