Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Zeit und Datumsangabe mit führender Null (http://www.expert-advisor.com/forum/showthread.php?t=1986)

forexAlexPH 27.02.12 04:07

Zeit und Datumsangabe mit führender Null
 
Hallo,

Ich habe folgenden Code, der mir Zeit und Datum in Variablen schreibt, was später beim erstellen einer Pending-Order in den Comment geschrieben wird.

Code:

      int localHour=TimeHour(LocalTime()); // Returns local time hour.
      int localMinute=TimeMinute(LocalTime()); // Returns local time minute.
      int localSecond=TimeSeconds(LocalTime()); // Returns local time seconds.
      int localDay=TimeDay(LocalTime()); // Returns day of month (1 - 31) 
      int localMonth=TimeMonth(LocalTime()); // Returns local time month.
      int localYear=TimeYear(LocalTime()); // Returns local time year.

Nun sieht das aber z.B. so aus: 2012-1-2 1:2:3
Sollte aber so sein: 2012-01-02 01:02:03
Gibt es da eine Funktion, dass eine Variable immer zweistellig ist? Eben so, dass die führende 0 immer mit ausgegeben wird.

Gruß Alex

naranjoe 27.02.12 08:29

Wenn du nicht jeden Wert einzeln benötigst, kannst du TimeToStr() dafür verwenden.
Für Zeit: localTime=TimeToStr(TimeLocal(),TIME_SECONDS);
Ergebnis: 08:18:19
Für Datum: localDate=TimeToStr(TimeLocal(),TIME_DATE);
Ergebnis: 2012.02.27

Auf jeden Fall geht das nur über Strings.
Einem einzelnen Wert (Einstellig) kannst du eine 0 wie folgt voransetzen:
if (localHour < 10) localHourstr = "0"+localHour;

Gruß
naranjoe

forexAlexPH 27.02.12 14:35

Danke fuer die Hilfe!
In dem Fall habe ich mich für folgende Lösung entschieden:
Code:

string localTime=TimeToStr(TimeLocal(),TIME_SECONDS);
string localDate=TimeToStr(TimeLocal(),TIME_DATE);
string localTimeNow = localDate+" "+localTime;

Jetzt habe ich eben das Datum mit Punkten getrennt und nicht mit - Aber das geht schon... ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum