#property script_show_inputs input int InpYear = 0; // Jahr input int InpMonth = 0; // Monat input int InpDay = 0; // Tag input int InpHour = 0; // Stunde input int InpMin = 0; // Minute input int InpSec = 0; // Sekunde //+------------------------------------------------------------------+ //| Skript Programm Start Funktion | //+------------------------------------------------------------------+ void OnStart() { //--- die eingegebenen Werte anpassen und sie in Variablen schreiben int year = (InpYear<1970 ? 1970 : InpYear); // Wenn das eingegebene Jahr kleiner als 1970 ist, wird 1970 verwendet int month= (InpMonth<1 ? 1 : InpMonth > 12 ? 12 : InpMonth); int day = (InpDay <1 ? 1 : InpDay > 31 ? 31 : InpDay); int hour = (InpHour <0 ? 0 : InpHour > 23 ? 23 : InpHour); int min = (InpMin <0 ? 0 : InpMin > 59 ? 59 : InpMin); int sec = (InpSec <0 ? 0 : InpSec > 59 ? 59 : InpSec); //--- Ausgabe der eingegebenen Werte im Protokoll PrintFormat("Entered date and time: %04u.%02u.%02u %02u:%02u:%02u", InpYear, InpMonth, InpDay, InpHour, InpMin, InpSec); //--- Ausgabe der angepassten eingegebenen Werte im Protokoll PrintFormat("Corrected date and time: %04u.%02u.%02u %02u:%02u:%02u", year, month, day, hour, min, sec); //--- Schreiben der Eingabewerte in die entsprechenden Strukturfelder MqlDateTime time_struct={}; time_struct.year= year; time_struct.mon = month; time_struct.day = day; time_struct.hour= hour; time_struct.min = min; time_struct.sec = sec; //--- das Datum und die Uhrzeit aus der Struktur in eine Variable vom Typ datetime umwandeln und datetime time = StructToTime(time_struct); //--- die Ergebnisse der Konvertierung einer Variablen vom Struktur-Typ MqlDateTime als Wert vom Typ datetime anzeigen Print("Converted date and time: ",TimeToString(time,TIME_DATE|TIME_MINUTES|TIME_SECONDS)); /* Ergebnisse, wenn keine Standardwerte eingegeben werden: Entered date and time: 0000.00.00 00:00:00 Corrected date and time: 1970.01.01 00:00:00 Converted date and time: 1970.01.01 00:00:00 Ergebnisse, wenn ein ungültiger Tag im Februar des laufenden Jahres eingegeben wird: Entered date and time: 2024.02.31 00:00:00 Corrected date and time: 2024.02.31 00:00:00 Converted date and time: 2024.03.02 00:00:00 */ } |