|
Programmierung MQL5 Hier gehts rund ums Programmieren in MQL5. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Zeit in Unixzeit von StringToTime wandeln verhält sich merkwürdig.
Hallo,
ich habe mir einen kleinen Helfer geschrieben, bei dem ich mit Unixzeit (der einfachheit halber) differenzen ausrechnen will. Da ich jedoch erst einen datetime erhalte, den ich wandeln muss, habe ich das so gelöst: Code:
string newTimeBased = "2016.06.15 02:44:32"; // NUR ZUM TESTEN !! datetime unixTimed = StringToTime(newTimeBased); // String zu Datumszeit wandeln long unixTime = (long) unixTimed; // Und mach Unixzeit raus ! Print("newTimeBased: " + newTimeBased); Print("unixTimed: " +unixTimed); Print("unixTime: " +unixTime); Als Ausgabe wird mir dann erzeugt: Code:
2016.08.22 03:49:08.579 UNIX-TIME-HELPER (EURUSD,M1) strrplce: 2 2016.08.22 03:49:08.579 UNIX-TIME-HELPER (EURUSD,M1) newTimeBased: 2016.06.15 02:44:32 2016.08.22 03:49:08.579 UNIX-TIME-HELPER (EURUSD,M1) unixTimed: 2016.06.15 02:44:32 2016.08.22 03:49:08.579 UNIX-TIME-HELPER (EURUSD,M1) unixTime: 1465958672 Lässt man sich dann hinterher die Unixzeit wieder umrechnen, dann ergibt das dann: 15.06.2016 - 04:44:32 Und das ist, was ich nicht verstehe. Wo kommen die 2 Stunden her ? Ich war immer der festen Meinung, dass was man per (long) abZuUnixZeit übergibt, wird auch genau so übersetzt. Halt wie bei PHP und sonst wo. Wäre für einen Ansatz dankbar. |
|
|||
Ich sehe auf meinem iPad nur die Hälfte des Codes, tippe mal bei der Rückrechnung auf den Einfluß der Zeitverschiebung des Brokerservers.
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Ok,
aber diese Verschiebung erschliesst sich mir nicht so ganz. Gerade nicht mit der Brokerzeit. Ich habe jetzt mal ein wenig mit der aktuellen Zeiten getestet, also: TimeCurrent() (Brokerzeit) => 2016.08.22 16:16:45 TimeLocal() (PC zeit) => 2016.08.22 15:16:47 Als unix ergibt es dann => 1471879007 was rückgerechnet ergibt => 2016.08.22 17:16:47 |
|
|||
Also bei mir ergibt
Print("unixDatum: " + TimeToStr(unixTime, TIME_DATE|TIME_MINUTES|TIME_SECONDS)); unixDatum : 2016.06.15 02:44:32 Ich sehe da keine Differenz. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
Oh nein,
Du hast Recht..... Das passiert, wenn man die Unixzeit auf einer Webseite seines vertrauens wieder zurückwandeln lässt, ohne es wirklich gegen zu prüfen. Also, Finger weg von der Seite: http://www.unixtime.de/ Au menno. Manchmal sind die einfachsten Lösungen doch die naheliegendsten. |
Lesezeichen |
Stichworte |
stringtotime, time, uhrzeit, unixtime.de, unixzeit, www.unixtime.de, zeit |
|
|