/blog/perl


substr() in Perl
[128755 mal gelesen]
foreach in Perl
[117342 mal gelesen]
Arrays in Perl - Besonderheiten
[110577 mal gelesen]
open() - Dateien öffnen in Perl
[98594 mal gelesen]
split() in Perl - Zeichenketten teilen
[90837 mal gelesen]
chomp() in Perl
[85331 mal gelesen]
grep - Listen durchsuchen in Perl
[82604 mal gelesen]
push in Perl
[79790 mal gelesen]
sleep in Perl - Das aktuelle Script warten lassen
[62345 mal gelesen]
print in Perl
[50325 mal gelesen]


Arrays
Dateien
HTPC
Hashes
Leistungsoptimiert
PHP
Perl
RegEx
Schleifen
Script
Skalare
Sonstiges
System
Webserver
Zur Startseite


Samstag, 24.5.2008, 09:18:19 Uhr

Epoche eines bestimmten Datums herausfinden


Aufgrund der Leseranfrage hier will ich doch natürlich eine kleine Routine vorstellen, die dieses Problem löst.
Die Fragestellung war also, wie man ein Datum mit Uhrzeit in Epochen, also Sekunden seit 1.1.1970, 0 Uhr, umwandelt.

Vorbereitung
Wichtig ist es, das Datum und die Uhrzeit in einzelne Werte zu zerlegen, also Tag, Monat, Jahr, Stunde, Minute und Sekunde.

Dann kommt die Funktion Time::Local ins Spiel. Sie errechnet aus den Zeitwerten die Epochen.
Als kleine Sub siehts dann so aus:

sub Epochen_aus_Datum{
use Time::Local;

($sekunde,$minute,$stunde,$tag,$monat,$jahr)=@_;
$time=timelocal($sekunde,$minute,$stunde,$tag,$monat-1,$jahr-1900);

print $time;
return $time;
}



Übergeben werden die einzelnen Werte in der Reihenfolge $sekunde $minute $stunde $tag $monat $jahr.

Interessant ist es zu bemerken, daß die Funktion timelocal Monate von 0 - 11 durchnummeriert, also Januar = 0 und Dezember = 11, und von den Jahren die Jahreszahl - 1900 benötigt, also ist das Jahr 2008 = 108. Falls man die Funktion also einmal anderweitig verwendet sollte man daran denken.

Übrigens
Time::Local gehört zur Standartausstattung von Perl, sollte also auch auf älteren Maschinen verfügbar sein. Falls nicht, kann man aus dem Internet aber auch die Funktion timelocal.pm oder .pl laden und separat auf seinen Rechner schubsen. Damit geht es dann auch, eine Inststallation ist nicht nötig...

Nachtrag
Ich habe hier einen Online-Konverter von Datum zu Epochen und Epochen zurück zum Datum online gestellt. Wer also mal ganz dringend eine Umwandlung braucht, sollte sich die Seite merken...



Kommentare zum Beitrag "Epoche eines bestimmten Datums herausfinden"

Kommentar von Ulrike
Bei Datumseingaben bevorzuge ich mittlerweile das DateTime-Modul. Für die gestellte Aufgabe funktioniert das z.B. so:



$dt = DateTime->now;
print $dt->epoch;



Kommentar von Struppi
oder mktime:


use POSIX qw(mktime);
sub getEpoche {
my ( $sec, $min, $hour, $tag, $monat, $year) = (@_, 0,0,0,0,0,0,0,0);
require POSIX;

return mktime( $sec, $min, $hour, $tag, $monat - 1, $year - 1900);
}


Kommentar von Struppi.
Das require POSIX ist natürlich überflüssig.



Thema: Perl

Der Beitrag "Epoche eines bestimmten Datums herausfinden" wurde 9995 mal gelesen.

Kommentar schreiben  Druckansicht  Seitenanfang 
Beurteilen 






 Zufällige Beiträge im /blog/perl

length() in Perl

Arrayeinträge zählen und sortiert nach Häufigkeit ausgeben

Identische Dateien auf dem Computer finden mit Perl

Was man mit RegEx tun sollte und was nicht - Reguläre Ausdrücke

binmode() - Dateien binär behandeln in Perl

Net::FTP unter Windows Vista

Systemvoraussetzungen für Windows Vista

lcfirst () - Erstes Zeichen einer Zeichenkette in Kleinbuchstaben umwandeln

Groß-Kleinschreibung in Regular Expression ändern



0.0174329280853271 sec. to build



...Blogsoftware in pure Perl - Powered by a lot of Coffee...


SSD-Festplatte - Wassn das???
Die Transliteration - Nur ein Zeichen in einem Skalar ersetzen
Select - Case in Perl
Windows 7 XP Mode – Wo finde ich den XP-Modus unter Windows 7?
Mac-Adresse beim Apple Macintosh herausfinden
SGN-Funktion für Perl
truncate - Dateigröße verändern in Perl
Eigene IP herausfinden mit Perl
Epoche live in Datum umwandeln
Firefox 3 - Exe-Files downloaden


Von: Fabian
Kommentar:
Hallo zusammen,
ich suche schon etwas im Internet und bin bisher nicht fündig geworden.
Zum Beitrag


Von: Schorschel eastcoast
Kommentar:
Danke. Das hat mir weitergeholfen.
Zum Beitrag


Von: Jessica
Kommentar:
Kann man auch zwei Datein parallel einlesen?

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag



Gesamtverzeichnis
Februar 2010
Dezember 2009
Oktober 2009
Januar 2009
Dezember 2008
November 2008
September 2008
August 2008
Juli 2008
Juni 2008
Mai 2008
April 2008
Januar 2008
Dezember 2007
November 2007
Oktober 2007
September 2007
August 2007
Juni 2007
Mai 2007
April 2007
März 2007
Februar 2007
Januar 2007
Dezember 2006


Mister Wong

RSS-Feed

Heute ist der
13.11.2018

Es ist
17:37:40 Uhr

Ihre IP:
54.90.185.120

Blog-Einträge: 186

Die letzten 24 Stunden im Überblick


Gelesene Beiträge insgesamt:
3740169


Webseiten vergleichen
Kalender mit Feiertagen - 2028
Links finden und testen
Menschliche Datumsangaben
IP zu Domain herausfinden
Time live in Datum umwandeln
Perl für Windows



Mo Di Mi Do Fr Sa So
1234
567891011
12131415161718
19202122232425
2627282930

Impressum