The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Quiq::Epoch - Ein Zeitpunkt

BASE CLASS

Quiq::Object

GLOSSARY

Epoch-Wert

Anzahl der Sekunden seit 1.1.1970, 0 Uhr UTC in hoher Auflösung, also mit Nachkommastellen.

ISO-Zeitangabe

Zeitangabe in der Darstellung YYYY-MM-DD HH:MI:SS.X.

DESCRIPTION

Ein Objekt der Klasse repräsentiert einen Zeitpunkt. Die Klasse implementiert Operationen auf einem solchen Zeitpunkt. Der Zeitpunkt ist hochauflösend, umfasst also auch Sekundenbruchteile.

METHODS

Konstruktor

new() - Konstruktor

Synopsis

$t = $class->new;
$t = $class->new($epoch);
$t = $class->new($iso);
$t = $class->new('start-of-month');
$t = $class->new('start-of-previous-month');
$t = $class->new('start-of-next-month');

Description

Instantiiere ein Zeitpunkt-Objekt für Epoch-Wert $epoch bzw. ISO-Zeitangabe $iso, letztere interpretiert in der lokalen Zeitzone, und liefere dieses Objekt zurück. Ist kein Argument angegeben, wird der aktuelle Zeitpunkt genommen.

Zeitkomponenten

dayOfWeek() - Wochentagsnummer

Synopsis

$i = $t->dayOfWeek;

Returns

Integer

Description

Liefere Wochentagsnummer im Bereich 0-6, 0 = Sonntag.

dayAbbr() - Abgekürzter Wochentagsname

Synopsis

$abbr = $ti->dayAbbr;

Returns

String

Description

Liefere abgekürzten Wochentagsnamen (So, Mo, Di, Mi, Do, Fr, Sa).

dayName() - Wochentagsname

Synopsis

$name = $ti->dayName;

Returns

String

Description

Liefere Wochentagsname (Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag).

year() - Jahr

Synopsis

$year = $t->year;

Returns

Integer

Description

Liefere (vierstellige) Jahreszahl.

month() - Monatsnummer

Synopsis

$month = $t->month;

Returns

Integer

Description

Liefere die ein- oder zweistellige Monatsnummer (1 .. 12).

Zeit-Arithmetik

minus() - Verschiebe Zeitpunkt in Vergangenheit

Synopsis

$t = $t->minus($duration);

Arguments

$duration

Dauer, um die der Zeitpunkt in die Vergangenheit verschoben wird. Die Dauer wird wie beim Konstruktor von Quiq::Duration angegeben.

Returns

Geändertes Epoch-Objekt (für Method-Chaining)

Description

Verschiebe den Zeitpunkt um Dauer $duration in die Vergangenheit.

plus() - Verschiebe Zeitpunkt in Zukunft

Synopsis

$t = $t->plus($duration);

Arguments

$duration

Dauer, um die der Zeitpunkt in die Zukunft verschoben wird. Die Dauer wird wie beim Konstruktor von Quiq::Duration angegeben.

Returns

Geändertes Epoch-Objekt (für Method-Chaining)

Description

Verschiebe den Zeitpunkt um Dauer $duration in die Zukunft.

tzOffset() - Zeit-Offset der lokalen Zeitzone

Synopsis

$s = $this->tzOffset;

Returns

Anzahl Sekunden (Integer)

Description

Ermittele den aktuellen Offset der lokalen Zeitzone gegenüber UTC in Sekunden und liefere diesen zurück.

Example

Quiq::Epoch->tzOffset; # MEST
==>
7200

(in Zeitzone MESZ)

Externe Repräsentation

epoch() - Liefere Epoch-Wert

Synopsis

$epoch = $t->epoch;

Description

Liefere den Epoch-Wert des Zeitpunkts.

Example

Quiq::Epoch->new->epoch;
==>
1464342621.73231

localtime() - Zeitkomponenten in lokaler Zeit

Synopsis

($s,$mi,$h,$d,$m,$y) = $t->localtime;

Description

Liefere die Zeitkomponenten Sekunden, Minuten, Stunden, Tag, Monat, Jahr in lokaler Zeit. Im Unterschied zu localtime() aus dem Perl Core sind Monat ($m) und Jahr (y) "richtig" wiedergegeben. d.h die Komponente $m muss nicht um 1 erhöht und die Komponente $y muss nicht um 1900 erhöht werden.

Example

Quiq::Epoch->new(1559466751)->localtime;
==>
(31,12,11,2,6,2019) # 2019-06-02 11:12:31

(in Zeitzone MESZ)

as() - Erzeuge externe Darstellung

Synopsis

$str = $t->as($fmt);

Arguments

$fmt

Formatangabe. Folgende Formate sind definiert:

YYYY-MM-DD

Datum in ISO-Darstellung.

YYYY-MM-DD HH:MI:SS

Zeit in ISO-Darstellung.

YYYY-MM-DD HH:MI:SS.XXX

Zeit in ISO-Darstellung mit Nachkommastellen. Die Anzahl der X gibt die Anzahl der Nachkommastellen an (in obiger Angabe drei).

Returns

Zeit-Darstellung (String)

Description

Liefere eine externe Darstellung des Zeitpunkts gemäß Formatangabe $fmt. Der Zeitpunkt wird in der lokalen Zeitzone interpretiert.

Example

Quiq::Epoch->new->as('YYYY-MM-DD HH:MI:SS');
=>
2016-05-27 11:50:21

asIso() - Erzeuge ISO-Darstellung

Synopsis

$str = $t->asIso;
$str = $t->asIso($x);

Arguments

$x (Default: 0)

Anzahl der Nachkommastellen.

Returns

Zeit-Darstellung (String)

VERSION

1.220

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2024 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.