In diesem Kapitel stellen wir Ihnen die Verarbeitung von Zeit und Datum in der Perl-Sprache vor.
In Perl gibt es mehrere Funktionen zur Verarbeitungszeit:
1. time()-Funktion: Gibt die kumulierte Anzahl von Sekunden seit dem 1. Januar 1970 zurück
2. Funktion localtime(): Ermitteln Sie die Uhrzeit der lokalen Zeitzone
3. gmtime()-Funktion: Greenwich Mean Time abrufen
Schauen wir uns als nächstes die Funktion localtime() an, die die aktuelle Uhrzeit und das aktuelle Datum ohne Argumente zurückgibt.
Die folgenden 9 Symbole repräsentieren unterschiedliche Zeit- und Datumsparameter:
Sek., # Sekunden, 0 bis 61 Min., # Minuten, 0 bis 59 Stunden, # Stunden, 0 bis 24 Tage, # Tage, 1 bis 31 Monate, # Monate, 0 bis 11 Jahre, # Jahre, ab 1900 Tag, # Wochentag , 0 -6,0 bedeutet Sonntag yday, # Der Tag des Jahres, 0-364,365isdst # True, wenn Sommerzeit gilt
Die Beispieldemonstration sieht wie folgt aus:
Die Ausführungsausgabe des obigen Beispiels ist:
Sonntag, 12. Juni
Wenn localtime() direkt aufgerufen wird, wird die Zeit der aktuellen Zeitzoneneinstellung des Systems zurückgegeben. Das Beispiel sieht wie folgt aus:
Die Ausführungsausgabe des obigen Beispiels ist:
Datum und Uhrzeit sind: So, 12. Juni 11:27:31 2016
Die Funktion gmtime() ähnelt localtime(), gibt jedoch die Standard-Greenwich-Zeit zurück.
Die Ausführungsausgabe des obigen Beispiels ist:
Die Ortszeit und das Datum sind: So, 12. Juni 11:32:14 2016GMT Die Uhrzeit und das Datum sind: So, 12. Juni 03:32:14 2016
Anhand des Beispiels können wir erkennen, dass die Zeit in China 8 Stunden von der Greenwich Mean Time abweicht.
Wir können die 9 Zeitelemente der Funktion localtime() verwenden, um die zu formulierende Formatzeit auszugeben. Die formatierte Ausgabe verwendet die Funktion printf():
Die Ausführungsausgabe des obigen Beispiels ist:
Formatierungszeit: HH:MM:SS11:35:23
Wir können die Epochenzeit mit der Funktion time() ermitteln, die die Anzahl der Sekunden seit dem 1. Januar 1970 zurückgibt. Beispiele sind wie folgt:
Die Ausführungsausgabe des obigen Beispiels ist:
Die Anzahl der seit dem 1. Januar 1970 gesammelten Sekunden beträgt: 1465702883
Wir können ein gewünschtes Zeitformat ausgeben:
Die Ausführungsausgabe des obigen Beispiels ist:
Aktuelle Uhrzeit und Datum: 15.3.2017 12:47:54 Uhrzeit und Datum von gestern: 14.3.2017 12:47:54
Die Funktion strftime() kann die Zeit in das gewünschte Format formatieren.
In der folgenden Tabelle sind einige Formatierungssymbole aufgeführt. Das *-Symbol zeigt an, dass Sie sich auf die Ortszeit verlassen möchten:
Symbol | beschreiben | Beispiel |
---|---|---|
%a | Abkürzung des Wochentags (Sun..Sat) * | Thu |
%A | Der vollständige Name des Wochentags (Sonntag..Samstag) * | Thursday |
%b | Abkürzung des Monats (Jan..Dez) * | Aug |
%B | Der vollständige Name des Monats (Januar..Dezember) * | August |
%c | Datum und Uhrzeit* | Thu Aug 23 14:55:02 2001 |
%C | Das Jahr wird durch 100 geteilt und gerundet ( 00-99 ). | 20 |
%d | Der Tag des Monats ( 01-31 ) | 23 |
%D | Datum, MM/DD/YY ist gleich %m/%d/%y | 08/23/01 |
%e | Der Tag des Monats, mit Leerzeichen zum Auffüllen einzelner Ziffern ( 1-31 ) | 23 |
%F | Die Abkürzung YYYY-MM-DD ähnelt %Y-%m-%d | 2001-08-23 |
%g | Die letzten beiden Ziffern des Jahres ( 00-99 ) | 01 |
%g | Jahr | 2001 |
%h | Monatsabkürzung* (identisch mit Option %b ) | Aug |
%H | 24-Stunden-Format ( 00-23 ) | 14 |
%I | 12-Stunden-Format ( 01-12 ) | 02 |
%j | Tag des Jahres ( 001-366 ) | 235 |
%m | Monat ( 01-12 .) | 08 |
%M | Minuten ( 00-59 ) | 55 |
%n | neue Zeile ( 'n' ) |
|
%p | AM oder PM anzeigen | PM |
%r | Uhrzeit (hh:mm:ss AM oder PM), 12 Stunden* | 02:55:02 pm |
%R | 24-Stunden HH:MM Zeitformat, entspricht %H:%M | 14:55 |
%S | Anzahl Sekunden ( 00-61 ) | 02 |
%t | Horizontaler Tabulator ( 't' ) |
|
%T | Zeit (24-Stunden-Format) (hh:mm:ss), entspricht %H:%M:%S | 14:55 |
%u | Wochentagsformat nach ISO 8601, Montag ist 1 ( 1-7 ) | 4 |
%U | Wochennummer des Jahres, Sonntag ist der erste Tag ( 00-53 ) | 33 |
%V | ISO 8601 Woche ( 00-53 ) | 34 |
%w | Wochentag (0 steht für Sonntag) ( 0-6 ) | 4 |
%W | Wochennummer des Jahres, Montag ist der erste Tag ( 00-53 ) | 34 |
%x | Datumsanzeigeformat (MM/TT/JJ) * | 08/23/01 |
%X | Zeitformat anzeigen* | 14:55:02 |
%y | Jahr, zweistellig ( 00-99 ) | 01 |
%Y | Jahr | 2001 |
%z | Zeitzonenversatz zwischen ISO 8601 und UTC (1 Minute=1, 1 Stunde=100) | +100 |
%Z | Der Name der aktuellen Zeitzone, z. B. „China Standard Time“ * | CDT |
%% | % -Symbol | % |
Die Ausführungsausgabe des obigen Beispiels ist:
Uhrzeit und Datum – 12.06.2016 12:15:13 Uhrzeit und Datum – 12.06.2016 04:15:13