Hey,
ich habe ein Problem mit dem Umrechnen bzw. erzeugen von Timestamps, genauer liegt das Problem in der Zeitzone.
Wenn ich mir in PHP einen Timestamp ausgeben lasse z.B.:
1291122533
und diesen dann mit date() als Datum ausgebe, bekomme ich korrekt dieses Datum 30.11.2010 14:08:53
Nun habe ich eine VB Funktion die mir daraus ein Datum errechnen soll hierbei kommt jedoch 30.11.2011 13:08:53 heraus, klar der Timestamp ist sicher GMT und ich könnte nun einfach 1 Stunde addieren, aber das ist keine saubere Lösung, weil wenn das Programm in einer anderen Zeitzone genutzt wird, würde der Timestamp wieder nicht korrekt gebildet.
Wie kann ich also einen Timestamp erzeugen der die Zeitzone mit einbezieht und mir einen Timestamp der GMT ausgibt?
Meine Funktionen
ich habe ein Problem mit dem Umrechnen bzw. erzeugen von Timestamps, genauer liegt das Problem in der Zeitzone.
Wenn ich mir in PHP einen Timestamp ausgeben lasse z.B.:
1291122533
und diesen dann mit date() als Datum ausgebe, bekomme ich korrekt dieses Datum 30.11.2010 14:08:53
Nun habe ich eine VB Funktion die mir daraus ein Datum errechnen soll hierbei kommt jedoch 30.11.2011 13:08:53 heraus, klar der Timestamp ist sicher GMT und ich könnte nun einfach 1 Stunde addieren, aber das ist keine saubere Lösung, weil wenn das Programm in einer anderen Zeitzone genutzt wird, würde der Timestamp wieder nicht korrekt gebildet.
Wie kann ich also einen Timestamp erzeugen der die Zeitzone mit einbezieht und mir einen Timestamp der GMT ausgibt?
Meine Funktionen
VB.NET-Quellcode
- Private Function TimestampToDate(ByVal Timestamp As Double) As Date
- Dim Converted As New DateTime(1970, 1, 1, 0, 0, 0, 0)
- Converted = Converted.AddSeconds(Timestamp)
- Return Converted
- End Function
- Public Function GetTimestamp() As Integer
- Dim Startdate As DateTime = #1/1/1970#
- Dim Timestamp As TimeSpan
- Timestamp = Date.Now.Subtract(Startdate)
- Return CType(Math.Abs(Timestamp.TotalSeconds()), Integer)
- End Function