Umrechnung Unix Time-Stamp in Excel

  • #1
J

Joshua

Guest
Moin Gemeinde !

Ich hätte da gern mal ein Problem.... ;-)

Dem ein oder anderen sicherlich ein Begriff ist der Unix-Timestamp, also das von Unix verwendete Datumsformat, das dann z.B. so aussieht: 1119307449.652.
http://www.onlineconversion.com/unix_time.htm übersetzt mir das in ein verständliches Datum, nämlich Montag, 20.05.2005.

Mein Problem:
Ich habe hier zig Textfiles, die ich in Excel auswerten soll und die alle mit dem Unix-Timestamp versehen sind. Es wäre eine elende Arbeit, das zeilenweise anhand der Website zu übersetzen, daher meine Frage an die Experten hier:
Kann man das mit einer Formel oder einem Makro in Excel lösen ?!?
Wenn ja, wäre jemand so nett.... ;-)

Besten Dank schonmal im voraus.
Btw, ich verwende Excel 2003 SP1.

Cheers,
Joshua
 
  • #2
Hi PCDJoshua,

ich bin mal so nett gewesen ...  ;)

ich hab den Makro so geschrieben, daß er alle selektierten Zellen umwandelt. Wenn Du es noch anders benötigst, beschreib kurz was du brauchst.

(Es funktioniert für negative UTC-timestamps bis 1.1.1902)

Gruß Matjes :)

Code:
korrigierte Version siehe unten
 
  • #3
Matjes schrieb:
(Es funktioniert für negative UTC-timestamps bis 1.1.1902)

Feine Sache Matjes, aber: Unix kennt _KEIN_ Datum vor dem 1.1.1970 ^^

*grinsend*
Sven
 
  • #4
Hallo Matjes,

zuerst einmal tausend Dank für deine Hilfe - testen kann und werde ich das wohl erst am Montag, mein Wochenende ist mit anderen Dingen schon ausgeplant. Feedback kommt aber auf alle Fälle !
Mille Grazie nochmals !

Cheers,
Joshua
 
  • #5
Hi zusammen,

bei dem negativen Timestamp  ;D war noch ein kleiner Fehler.

Für die, die den umgekehrten Weg gehen müssen, hab das Gegenstück noch geschrieben.

Ein Test-Makro ist auch noch dabei.

Gruß Matjes :)

Code:
korrigierte Version siehe unten
 
  • #6
Moin !

Also, hier das Feedback:
Prinzipiell funktioniert das Makro sehr gut - aber wie es der Teufel so will, ist der im Logfile abgelegte Timestamp 3 Zeichen länger wie normal. Wie Conny herausgefunden hat, sind die letzten drei Zeichen die Millisekunden....

Es müsste doch eine Möglichkeit geben, die letzten drei Zeichen per Makro abzuschneiden ?!?

Cheers,
Joshua
 
  • #7
wieviel Zeichen sind denn relevant ?

Gruß Matjes :)
 
  • #8
Hallo PCDJoshua,

wenn der Timestamp länger als 10 Zeichen ist, werden jetzt nur die linken 10 Zeichen ausgewertet.

Korrektur ist oben erfolgt:
If Len(s_UTCZeit) > 10 Then s_UTCZeit = Left(s_UTCZeit, 10)

Gruß Matjes :)
 
  • #9
Funktioniert !!! ;D
Mein ewiger Dank schleicht dir nach, mein lieber Matjes - und nicht nur ich danke dir, sondern auch (und wohl vor allem) unsere Praktikanten, die ohne dein Makro jedes Log Zeile für Zeile hätten nachbearbeiten dürfen .... *g*

Cheers,
Joshua
 
  • #10
Na dann wünsche ich den Praktikanten eine erholsame Woche  ;D ;D ;D

Gruß Matjes  ;)
 
  • #11
Hi zusammen

Kleine Frage: wäre es schwierig das Marko so umzuschreiben, dass er genau das Gegenteil macht? Also ein Datumsformat (z.B. 22.12.2005 15:15) in ein Unix time-stamp umwandeln. Habe ne riesige Excel Datei und müsste die Unix Timestamps haben :eek:

Gruss
Michael
 
  • #12
Hallo Michael,

im Code unten sind 2 Makros enthalten   ;) 
Code:
Sub SelektierteZellenMitUTCTimestampInExcelDatum()
 ->
 ->Wandelt den in einer Zelle enthaltenen UTC-Timestamp
 ->in eine Excel-Datums/Zeitangabe (dd.mm.yyyy hh:nn:ss)
 ->1000stel Sekunden werden abgeschnitten
 ->
 ->Die Umwandlung wird für alle selektierten Zellen durchgeführt
......


Sub SelektierteZelleMitExcelDatumInUTCTimestamp()
 ->
 ->Wandelt das in einer Zelle enthaltene Excel-Datum
 ->in einen UTC-Timestamp
 ->
 ->Die Umwandlung wird für alle selektierten Zellen durchgeführt
Gruß Matjes :)
 
  • #13
das makro arbeitet bei mir fehlerhaft. die zeiten (stunde:minute) kommen vorne und hinten nicht hin. hab's in der datenbank mit DATE_FORMAT(FROM_UNIXTIME(datum),->%h:%i')) verglichen..
 
  • #14
Hallo gast21202,

daß liegt an der unterschiedlichen Zeitzone. Der vorliegende Makro rechnet für GMT +-0.

Bei Bedarf schick ich dir die Version mit zusätzlicher Abfrage der Zeitzone zu.

Gruß Matjes :)
 
  • #15
Hallo gast21202,

ich hab die Version oben noch um die Möglichkeit erweitert, die Zeitzonenverschiebnung anzugeben.

In der Konstanten c_ZEITVERSCHIEBUNG_ZU_GMT_IN_STUNDEN  ist diese in Stunden als double-Wert anzupassen.
Beispiele:
Zeitverschiebung GMT+1.5 :
Const c_ZEITVERSCHIEBUNG_ZU_GMT_IN_STUNDEN As Double = 1.5
Zeitverschiebung GMT-1 :
Const c_ZEITVERSCHIEBUNG_ZU_GMT_IN_STUNDEN As Double = -1

Gruß matjes :)
Code:
korrigierte Version siehe unten
 
  • #16
Hallo Matjes,

vielen, vielen Dank für die Makros.
Musste von Excel Datum nach Unix konvertieren, funzt einwandfrei.

Nochmals danke und viele Grüße
Thomas
_______________________
http://www.help-guide.de
 
  • #17
Brauche nochmals dringend eure Hilfe:
Also habe es alles so gemacht wie beschrieben aber bei mir bringt der immer willkürliche Daten aus dem JAhre 2010.
Beispiel:
Mein Time Stamp ist:
1.139.110.822.980 hier bekomme ich 6.2.10 3:40
1.139.111.398.795 hier 6.2.10 3:49

Wenn ich die Time Stamps in einen Online Umrechner reinhaue bekomme ich für das erste Datum: Sun, 26 Dec 38066 01:03:00 GMT! Kann das sein das die Time Stamps falsch sind oder ich zu doof die Makros in Excel richtig zu bedienen. Danke für eure Hilfe
Marthaeng
 
  • #18
Hallo marthaeng,

das liegt an deinem Format. Der Unix-Timestamp ist eine zehnstellige Zahl. Auf einigen Systemen werden auch noch die tausendstel Sekunden mit ausgegeben/angegeben. Diese sind durch einen Punkt vom Rest getrennt.

In deinem Format sind mehrere Trennzeichen (Punkt) enthalten
Code:
1.139.110.822.980
müßte so aussehen
Code:
1139110822.980

Gruß Matjes :)
 
  • #19
merci dir werde es gleich mal testen!!
Gruss
Martin
 
  • #20
Hallo wieder mal ich:

es will bei mir einfach nicht funktionieren:
Habe alle Makros die Du geschrieben hast versucht aber leider bringt er mit immer ein anderes Datum als bei den Online Umrechnugsrechnern :(!
Wenn ich z.B.: 1139111399.468 umwandle gibt er mir 06.02.2010 04:49:59 raus. Bei den Online Umrechnern aber das richtige Datum : Sun, 05 Feb 2006 03:49:59 GMT
Ich habe keinen blassen schimmer was ich falsch mache... Bitte um Hilfe sonst muss mein Praktikant heute alles umschreiben! Und eigentlich soll der der Kaffee holen ;-)
Gruss
Martin
 
Thema:

Umrechnung Unix Time-Stamp in Excel

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben