TimeToString

Umwandlung des Wertes, der Zeit in Sekunden enthält, die seit  01.01.1970 vergangen ist, in die Zeichenkette mit dem Format "yyyy.mm.dd hh:mi".

string  TimeToString(
   datetime  value,                           // Zahl
   int       mode=TIME_DATE|TIME_MINUTES      // Ausgabeformat
   );

Parameter

value

[in]  Zeit in Sekunden seit  00:00 1. Januar 1970.

mode=TIME_DATE|TIME_MINUTES

[in]  Optionale Formate der Datenausgabe. Kann aus einem oder einer Kombination von Flags bestehen:
TIME_DATE führt zum Format " yyyy.mm.dd " ,
TIME_MINUTES führt zum Format " hh:mi ",
TIME_SECONDS führt zum Format " hh:mi:ss ".

Rückgabewert

Zeichenkette.

 

Beispiel:

datetime ExtBarTimeOpen;
 
//+------------------------------------------------------------------+
//| Initialisierungsfunktion eine nutzerdefinierten Indikators       |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- den Timer auf eine Sekunde einstellen
   EventSetTimer(1);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Nutzerdefinierte Indikator-Deinitialisierungsfunktion            |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//| Nutzerdefinierte Indikator-Iterationsfunktion                    |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//--- Ermittlung der aktuellen Öffnungszeit des Balkens
   ExtBarTimeOpen=time[rates_total-1];
//--- Rückgabe des Wertes von prev_calculated für den nächsten Aufruf
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Timer Funktion                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//--- Festlegen der Öffnungszeit des vorherigen Balkens
   static datetime bar_open_time=ExtBarTimeOpen;
//--- Zählen der Anzahl der Sekunden, die seit der Öffnung des Balkens vergangen sind
   static int seconds=int(TimeCurrent()-ExtBarTimeOpen);
//--- wenn die vorherige Öffnungszeit nicht gleich der aktuellen ist, handelt es sich um einen neuen Balken
//--- den neuen Eröffnungszeitpunkt dem vorherigen zuweisen, und die Sekunden auf Null setzen
   if(bar_open_time!=ExtBarTimeOpen)
     {
      bar_open_time=ExtBarTimeOpen;
      seconds=0;
     }
//--- Erhöhen und Anpassen der Anzahl der Sekunden, die seit der Eröffnung des Balkens vergangen sind
   seconds++;
   if(seconds>PeriodSeconds(PERIOD_CURRENT))
      seconds=0;
//--- Darstellung der Öffnungszeit des Balkens als yyyy.mm.dd hh:mi
   string bar_time_open=TimeToString(ExtBarTimeOpen);
//--- Darstellung der aktuellen Zeit als yyyy.mm.dd hh:mi:ss
   string time_current=TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES|TIME_SECONDS);
//--- Anzahl der verbleibenden Sekunden, bis ein neuer Balken geöffnet wird
   int    sec_left=PeriodSeconds(PERIOD_CURRENT)-seconds;
//--- verbleibende Zeit bis zum Schließen des aktuellen Balkens in hh:mi:ss
   string time_left=TimeToString(sec_left,TIME_MINUTES|TIME_SECONDS);
//--- Erstellen der auszugebenden Zeichenkette
   string txt=StringFormat("Opening time of the current bar: %s\n"+
                           "Time Current: %s\n"+
                           "Seconds have passed since the bar opened: %d\n"+
                           "Approximately seconds left before bar closes: %d\n"+
                           "Time remaining until bar closes: %s",bar_time_open,time_current,seconds,sec_left,time_left);
//--- Anzeige der Eröffnungszeit des Balkens und der aktuellen Zeit,
//--- die Anzahl der Sekunden, die seit der Eröffnung des aktuellen Balkens vergangen sind und die bis zu dessen Schließung verbleiben, und
//--- die verbleibende Zeit bis zur Schließung des aktuellen Balkens im Kommentar
   Comment(txt);
   /*
   result on M1:
   Opening time of the current bar2024.02.22 18:06
   Time Current2024.02.22 18:06:24
   Seconds have passed since the bar opened25
   Approximately seconds left before bar closes35
   Time remaining until bar closes00:00:35
 
   result on M5:
   Opening time of the current bar2024.02.22 18:05
   Time Current2024.02.22 18:07:28
   Seconds have passed since the bar opened149
   Approximately seconds left before bar closes151
   Time remaining until bar closes00:02:31
 
   result on H1:
   Opening time of the current bar2024.02.22 18:00
   Time Current2024.02.22 18:08:13
   Seconds have passed since the bar opened494
   Approximately seconds left before bar closes3106
   Time remaining until bar closes00:51:46
   
   result on D1:
   Opening time of the current bar2024.02.22 00:00
   Time Current2024.02.22 18:11:01
   Seconds have passed since the bar opened65462
   Approximately seconds left before bar closes20938
   Time remaining until bar closes05:48:58
   */
  }

Siehe auch

StringToTime, TimeToStruct