AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

UnixToDateTime

Ein Thema von user0815 · begonnen am 26. Mär 2015 · letzter Beitrag vom 26. Mär 2015
Antwort Antwort
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#1

UnixToDateTime

  Alt 26. Mär 2015, 10:36
Hallo,
ich habe jetzt einige Beiträge gelesen, aber nichts gefunden was mir wirklich hilft.
Ich habe in einer MySQL DB das folgende Datum "26.03.2015 - 09:51:00" als UnixTime gespeichert: "1427359860".

Online Umrechner: http://www.unixtime.de/

Wenn ich den Wert jetzt mit dem Programm auslese "1427359860" und umrechne http://docwiki.embarcadero.com/Libra...UnixToDateTime
dann erhalte ich eine Std. Versatz.

Delphi-Quellcode:
  dt : TDateTime;
begin
  dt := DateUtils.UnixToDateTime(1427359860);
  ShowMessage('Realzeit: 26.03.2015 - 09:51:00 <> ' + FormatDateTime('dd.mm.yyyy hh:nn:ss', dt));

// Ausgabe = Realzeit: 26.03.2015 - 09:51:00 <> 26.03.2015 08:51:00
Ist da immer eine Std. Versatz oder hat das mit der Zeitzone zu tun in der die EXE läuft ?
Eigentlich ja schon Quatsch das da überhaupt was verkehrtes rauskommt... sollte ja immer "die Anzahl der vergangenen Sekunden seit dem 1.1.1970 um 00:00" sein
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: UnixToDateTime

  Alt 26. Mär 2015, 10:42
Hallo,

hilft der SO Eintrag weiter?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: UnixToDateTime

  Alt 26. Mär 2015, 10:47
Toll, jetzt hatte ich extra was getippt und Klaus war schneller. Jetzt schicke ich es trotzdem ab

Delphi-Quellcode:
procedure justUnixTimeThings();
const
   unixTime = 1427359860;
var
   dateTime: TDateTime;
begin
   dateTime := System.DateUtils.UnixToDateTime(unixTime);
   Write('Unix timestamp converted to UTC: ');
   WriteLn( DateTimeToStr(dateTime) );

   Write('Converted to local timezone: ');

   dateTime := TTimeZone.Local.ToLocalTime(dateTime);
   WriteLn( DateTimeToStr(dateTime) );
end;
PS: UnixToDateTime hat bei mir noch einen optionalen zweiten Parameter AReturnUTC: Boolean aber das gab es in XE2 noch nicht. Damit hätte man sich die Zeitzonen-Umwandlung direkt sparen können.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: UnixToDateTime

  Alt 26. Mär 2015, 10:58
Wem ist der zweite Parameter bei UnixToDateTime aufgefallen?
Vorallem das True-Default.

(nicht im Lazarus)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: UnixToDateTime

  Alt 26. Mär 2015, 11:14
Das Postscriptum von Günther nicht gelesen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#6

AW: UnixToDateTime

  Alt 26. Mär 2015, 11:18
Delphi-Quellcode:
const
  UnixTime = 1427359860;
var
  dt : TDateTime;
begin
  dt := EncodeDateTime(1970, 1, 1, 0, 0, 0, 0);
  dt := IncSecond(dt, UnixTime);
  Memo1.Lines.Append(DateTimeToStr(dt)); // 26.03.2015 08:51:00 ???

  // @Der schöne Günther, passt
  dt := TTimeZone.Local.ToLocalTime(DateUtils.UnixToDateTime(UnixTime));
  Memo1.Lines.Append(DateTimeToStr(dt)); // 26.03.2015 09:51:00 = ok
alles komisch...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: UnixToDateTime

  Alt 26. Mär 2015, 11:40
Wo ich anfing mit schreiben, war der noch nicht da und die faule RedBox hat auch kein Wort gesagt.



Bugfix kaufen? Wurde mit XE6 repariert eingeführt.
http://docwiki.embarcadero.com/Libra...UnixToDateTime
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz