Seite 2 von 6

Re: Date64 - Unixtime 64bit

Verfasst: 24.03.2014 11:07
von Sicro
Vielen Dank euch beiden :allright:
Endlich funktionieren die Strukturen ohne Gemurkse 8)

MacOS 32-Bit werden wir doch auch noch hinbekommen.
Sobald ich mehr Zeit habe, werde ich mal die MacOS-API-Dokus durchgehen und schauen, was da los ist.

Re: Date64 - Unixtime 64bit

Verfasst: 24.03.2014 12:33
von Danilo
Sicro hat geschrieben:MacOS 32-Bit werden wir doch auch noch hinbekommen.
Sobald ich mehr Zeit habe, werde ich mal die MacOS-API-Dokus durchgehen und schauen, was da los ist.
Neue Mac's sind eigentlich nur noch 64bit, da wäre es nicht allzu schlimm das alte 32bit Zeugs zu ignorieren.

Wichtiger finde ich das 64bit mit kleinen Jahreszahlen wie "1600" nicht zu funktionieren scheint:

Code: Alles auswählen

  Debug FormatDate  ("%yyyy.%mm.%dd %hh:%ii:%ss", Date  (1600,1,1,0,0,0))
  Debug FormatDate64("%yyyy.%mm.%dd %hh:%ii:%ss", Date64(1600,1,1,0,0,0))
Output:

Code: Alles auswählen

1969.12.31 23:59:59
1970.01.01 00:59:59
Irgendwie ist da nix mit "1600" :?:

Funktioniert das denn auf Windows und Linux?

Re: Date64 - Unixtime 64bit

Verfasst: 24.03.2014 13:04
von ts-soft
Linux 32-Bit:
Debugger Output hat geschrieben:0000.00.00 00:00:00

1970.01.01 00:59:59
Windows 32- und 64-Bit:
Debugger Output hat geschrieben:0000.00.00 00:00:00
1601.01.01 00:00:00
64-Bit Linux kann ich jetzt nicht testen.

Re: Date64 - Unixtime 64bit

Verfasst: 24.03.2014 13:22
von NicTheQuick
ts-soft hat geschrieben:64-Bit Linux kann ich jetzt nicht testen.
Aber ich:
0000.00.00 00:00:00
1600.01.01 00:00:00

Re: Date64 - Unixtime 64bit

Verfasst: 16.04.2014 14:37
von Sicro
Hallo Danilo,

kannst du mal die minimalen und maximalen Werte für MacOS ermitteln? Dann könnte man diese ebenfalls im Code vermerken.
Danilo hat geschrieben:

Code: Alles auswählen

Debug FormatDate  ("%yyyy.%mm.%dd %hh:%ii:%ss", Date  (1600,1,1,0,0,0))
Debug FormatDate64("%yyyy.%mm.%dd %hh:%ii:%ss", Date64(1600,1,1,0,0,0))
Output:

Code: Alles auswählen

1969.12.31 23:59:59
1970.01.01 00:59:59
Gebe das mal in deinem Terminal ein:

Code: Alles auswählen

date --utc --date @-11676096000
Erhälst du dort die Ausgabe "Sa 1. Jan 00:00:00 UTC 1600"?

Re: Date64 - Unixtime 64bit

Verfasst: 16.04.2014 17:08
von NicTheQuick
Sicro hat geschrieben:Gebe das mal in deinem Terminal ein:

Code: Alles auswählen

date --utc --date @-11676096000
Erhälst du dort die Ausgabe "Sa 1. Jan 00:00:00 UTC 1600"?
Bei meinem Kollegen hier neben mir kommt nach Eingabe von 'date -r -11676096000' das Datum 'Sa 1. Jan 01:00:00 CET 1600. Dann wird wahrscheinlich in UTC dann 0:00:00 Uhr sein.

Re: Date64 - Unixtime 64bit

Verfasst: 17.12.2015 00:02
von Sicro
So wie es aussieht, wird die Sommerzeit/Winterzeit noch nicht korrekt unter Linux (und Mac?) verarbeitet, weshalb im Beispiel-Code z. B. folgendes ausgegeben wird:

Code: Alles auswählen

Debug FormatDate("%yyyy.%mm.%dd %hh:%ii:%ss", Date())     ; 2015.12.16 22:05:22
Debug FormatDate64("%yyyy.%mm.%dd %hh:%ii:%ss", Date64()) ; 2015.12.16 21:05:22
Sobald ich wieder genug Zeit habe, werde ich versuchen das Problem zu beheben.

Re: Date64 - Unixtime 64bit

Verfasst: 17.12.2015 00:14
von ts-soft
Unter Linux gibt es IMHO keine Sommer/Winterzeit, sondern dort gilt immer UTC
während unter Windows die Localzeit, also GMT + ? gilt.

Re: Date64 - Unixtime 64bit

Verfasst: 17.12.2015 00:17
von NicTheQuick
ts-soft hat geschrieben:Unter Linux gibt es IMHO keine Sommer/Winterzeit, sondern dort gilt immer UTC
während unter Windows die Localzeit, also GMT + ? gilt.
Das ist aber Unsinn. Natürlich weiß Linux, in welcher Zeitzone es sich befindet:

Code: Alles auswählen

nicolas@tp-w530:~$ date +%Z%z
CET+0100

Re: Date64 - Unixtime 64bit

Verfasst: 17.12.2015 00:24
von xXRobo_CubeXx
Da kennt sich einer sehr gut mit Linux aus, nicht wahr Thomas ? :mrgreen: