Ich berechne den Zeitunterschied zwischen UTC, lokaler und Serverzeit.
Da es ja sein kann, daß man einen Unterschied von halben Stunden hat und ich keine Lust habe, die Std./Minuten einzugeben, rechne ich also:
Code:
double CServUtcDiff=(TimeGMT()-TimeCurrent() );
Print(" UTC: ",TimeToStr(TimeGMT(),TIME_DATE|TIME_SECONDS),
" Ser: ",TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),
" Loc: ",TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS),
" CServUtcDiff =",DoubleToString(CServUtcDiff,2)
);
Das dumme ist nur - je nachdem in welcher Sekunde ich grade bin, ist das Ergebnis ungenau - also statt der erwarteten 3600.00 erhalte ich 3599.00 Sekunden. Wenn ich dieses Ergebnis nähme, um die Zeiten umzurechnen (also z.B. UTC+9 wäre Serverzeit UTC+10, theoretisch), dann fehlt mir ne Sekunde.
Irgendwelche Ideen wie man es anders machen kann?
(von der Idee, einfach nur mit UTC Zeiten zu rechnen, bin ich abgekommen, weil Tageszuweisungen und -verschiebungen damit komplizierter werden).
AVT