SYSTEMD.TIME(7) systemd.time SYSTEMD.TIME(7) BEZEICHNUNG systemd.time - Zeit- und Datumsspezifikationen BESCHREIBUNG In Systemd werden Zeitstempel, Zeitspannen und Kalenderereignisse angezeigt und konnen in eng verwandten Syntaxen festgelegt werden. ZEITSPANNEN DARSTELLEN Zeitspannen beziehen sich auf Zeitdauern. Bei der Anzeige wird Systemd Zeitspannen als durch Leerzeichen getrennte Serien von Zeitwerten darstellen, an die jeweils eine Zeiteinheit angehangt ist. Beispiel: 2h 30min Alle festgelegten Zeitwerte sind zum Addieren gedacht. Obiges bezieht sich daher auf 150 Minuten. Die Anzeige hangt nicht von der Locale ab, es werden nur englische Namen fur die Zeiteinheiten verwandt. ZEITSPANNEN AUSWERTEN Bei der Auswertung akzeptiert Systemd die gleiche Zeitspannensyntax. Trennende Leerzeichen konnen weggelassen werden. Die folgenden Zeiteinheiten werden verstanden: o usec, us, s o msec, ms o seconds, second, sec, s o minutes, minute, min, m o hours, hour, hr, h o days, day, d o weeks, week, w o months, month, M (defiert als 30.44 Tage) o years, year, y (definiert als 365.25 Tage) Falls keine Zeiteinheit festgelegt ist, wird im Allgemeinen Sekunden angenommen, aber einige Ausnahmen existieren und sind als solche gekennzeichnet. In ein paar Fallen, wo die Granularitat der Zeitspanne dies erlaubt, werden auch >>ns<< und >>nsec<< akzeptiert. Die Auswertung ist im Allgemeinen unabhangig von der Locale, ubersetzte Namen fur die Zeiteinheiten werden nicht akzeptiert. Beispiele fur gultige Zeitspannenspezifikationen: 2 h 2hours 48hr 1y 12month 55s500ms 300ms20s 5day Zur Normierung einer textuellen Zeitspanne und zu Uberprufungszwecken kann der Befehl timespan von systemd-analyze(1) verwandt werden. Intern arbeitet Systemd mit einer Mikrosekundengenauigkeit, wahrend die Standardzeiteinheit in benutzerkonfigurierbaren Zeitdauern normalerweise Sekunden ist (siehe oben). Dieser Unterschied wird bemerkbar, wenn die gleichen Einstellungen in der (abstrakten) Unit-Datei-Syntax mit der passenden (systemnaheren) D-Bus-Eigenschaft verglichen wird, die der Befehl show von systemctl(1) anzeigt. Der Ersteren wird normalerweise >>Sec<< angehangt, um die Standardeinheit Sekunden anzuzeigen, dem Letzteren typischerweise >>USec<<, um die zugrundeliegende systemnahe Zeiteinheit anzuzeigen, selbst falls beide die genau gleichen Einstellungen kapseln. ZEITSTEMPEL ANZEIGEN Zeitstempel beziehen sich auf bestimmte, eindeutige Zeitpunkte. Bei der Anzeige wird Systemd diese in der lokalen Zeitzone wie folgt formatieren: Fri 2012-11-23 23:02:15 CET Der Wochentag wird in der abgekurzten englischen Sprachform angezeigt. Die Formatierung ist unabhangig von der Locale. In bestimmten Fallen werden die Zeitstempel in der Zeitzone UTC (Weltzeit) statt in der lokalen Zeitzone angezeigt, was durch die Angabe >>UTC<< in der Ausgabe angezeigt wird. In bestimmten Fallen werden die Zeitstempel mit einer Mikrosekundengenauigkeit angezeigt. In diesem Fall wird der Sekundenbruchteil durch einen Punkt von der Sekundenkomponente getrennt. ZEITSTEMPEL AUSWERTEN Bei der Auswertung wird Systemd eine ahnliche Syntax akzeptieren, aber einige Felder konnen ausgelassen werden und das Leerzeichen zwischen dem Datum und der Uhrzeit kann durch ein >>T<< ersetzt werden (entsprechend des ISO-8601-Profils aus RFC 3339[1]); daher sind in MEZ alle folgenden Varianten identisch: >>Fri 2012-11-23 23:02:15 CET<<, >>Fri 2012-11-23T23:02:15<<, >>2012-11-23T23:02:15 CET<<, >>2012-11-23 23:02:15<<. Falls nicht explizit angegeben ist die Vorgabe fur die Zeitzone die aktuelle Zeitzone. Sie kann nach einem Leerzeichen, wie oben, angegeben werden und dann >>UTC<<, ein Eintrag aus der installierten IANA-Zeitzonen-Datenbank (>>CET<<, >>Asia/Tokyo<<, &c.; die vollstandige Liste kann mit >>timedatectl list-timezones<< erhalten werden (siehe timedatectl(1))) oder >>+-05<<, >>+-0530<<, >>+-05:30<<, >>Z<< sein. Sie kann auch direkt am Zeitstempel befestigt werden. Dann muss sie einem der in RFC 3339[1] definierten Profile der ISO 8601 entsprechen: >>+-05:30<< oder >>Z<<. Daher sind folgende Ausdrucke auch zu obigem identisch: >>2012-11-23T23:02:15+01:00<<, >>2012-11-23 22:02:15Z<<. Ein Zeitstempel kann mit einem Feld, das den Wochentag enthalt, beginnen. Dieser kann, unabhangig der Locale, in abgekurzter (>>Wed<<) oder vollstandiger (>>Wednesday<<) englischer Sprachform sein (Gross-/Kleinschreibung ist egal). Passt der Wochentag nicht zum Datum, wird der Zeitstempel zuruckgewiesen, wenn der Wochentag angegeben ist. Falls das Datum ausgelassen wird, ist die Vorgabe heute. Falls die Zeit ausgelassen wird, ist die Vorgabe 00:00:00. Sekundenbruchteile konnen bis hinunter zur 1s-Genauigkeit angegeben werden. Das Sekundenfeld kann ausgelassen werden, die Vorgabe ist 0. Es gibt besondere Merkmale, die anstelle von Zeitstempeln verwandt werden konnen: >>now<< kann zur Bezeichnung der aktuellen Zeit (oder zum Aufruf des Befehls, der derzeit ausgefuhrt wird) verwandt werden. >>today<<, >>yesterday<< und >>tomorrow<< beziehen sich auf 00:00:00 des aktuellen Tages, des Vortages bzw. des nachsten Tages. Es werden auch relative Zeitangaben akzeptiert: Eine Zeitdauer (siehe oben), der >>+<< vorangestellt ist, wird auf die aktuelle Zeit plus der festgelegten Zeitdauer ausgewertet. Entsprechend wird eine Zeitdauer, der >>-<< vorangestellt ist, auf die aktuelle Zeit minus der festgelegten Zeitdauer evaluiert. Anstatt vor die Zeitdauer >>+<< oder >>-<< zu stellen, kann ihr auch ein Leerzeichen und das Wort >>left<< oder >>ago<< angehangt werden. Schliesslich wird eine Ganzahl, der >>@<< vorangestellt ist, relativ zu der UNIX-Epoch 1.Januar 1970, 00:00:00 GMT, evaluiert. Beispiele fur gultige Zeitstempel und ihre normierte Form (unter der Annahme, das die aktuelle Zeit 2012-11-23 18:15:22 und die Zeitzone UTC+8, beispielsweise >>TZ=Asia/Shanghai<<, ist): Fri 2012-11-23 11:12:13 -> Fri 2012-11-23 11:12:13 2012-11-23 11:12:13 -> Fri 2012-11-23 11:12:13 2012-11-23 11:12:13 UTC -> Fri 2012-11-23 19:12:13 2012-11-23T11:12:13Z -> Fri 2012-11-23 19:12:13 2012-11-23T11:12+02:00 -> Fri 2012-11-23 17:12:00 2012-11-23 -> Fri 2012-11-23 00:00:00 12-11-23 -> Fri 2012-11-23 00:00:00 11:12:13 -> Fri 2012-11-23 11:12:13 11:12 -> Fri 2012-11-23 11:12:00 now -> Fri 2012-11-23 18:15:22 today -> Fri 2012-11-23 00:00:00 today UTC -> Fri 2012-11-23 16:00:00 yesterday -> Fri 2012-11-22 00:00:00 tomorrow -> Fri 2012-11-24 00:00:00 tomorrow Pacific/Auckland -> Thu 2012-11-23 19:00:00 +3h30min -> Fri 2012-11-23 21:45:22 -5s -> Fri 2012-11-23 18:15:17 11min ago -> Fri 2012-11-23 18:04:22 @1395716396 -> Tue 2014-03-25 03:59:56 Beachten Sie, dass Zeitstempel, die von Systemen in der Ferne mit einer unpassenden Zeitzone angezeigt werden, normalerweise lokal nicht auswertbar sind, da die Zeitzonenkomponente nicht verstanden wird (ausser sie ist >>UTC<<). Zeitzonen konnen auch mit Mikrosekundengenauigkeit festgelegt werden. Es wird erwartet, dass der Sekundenbruchteil durch einen Satzpunkt von der Sekundenkomponente abgetrennt ist. Beispiel: 2014-03-25 03:59:56.654563 In einigen Fallen wird Systemd einen relativen Zeitstempel anzeigen (relativ zu der aktuellen Zeit oder zu dem Aufrufzeitpunkt des Befehls), statt als absoluter Zeitstempel (oder als Addition zu diesem wie oben beschrieben). Ein relativer Zeitstempel ist wie folgt formatiert: 2 months 5 days ago Beachten Sie, dass ein relativer Zeitstempel auch akzeptiert wird, wo ein Zeitstempel erwartet wird (siehe oben). Verwendet den Befehl timestamp von systemd-analyze(1), um Zeitstempel zu Testzwecken zu validieren und normieren. KALENDEREREIGNISSE Kalenderereignisse konnen als Referenz auf einen oder mehrere Zeitpunkte in einem einzigen Ausdruck verwandt werden. Sie stellen eine Obermenge der oben erklarten absoluten Zeitstempel dar: Thu,Fri 2012-*-1,5 11:12:13 Vorheriges bezieht sich auf 11:12:13 vom ersten oder funften Tag des Monats des Jahres 2012, aber nur falls dieser Tag ein Donnerstag oder Freitag ist. Die Wochentagangabe ist optional. Falls angegeben, sollte sie aus einem oder mehreren Wochentagnamen auf englisch bestehen, entweder in der abgekurzten (Wed) oder nicht abgekurzten (Wednesday) Form (Gross-/Kleinschreibung ist egal), getrennt durch Kommata. Werden zwei Wochentage, getrennt durch >>..<<, festgelegt, bezieht sich das auf einen Bereich fortlaufender Wochentage. >>,<< und >>..<< konnen frei kombiniert werden. In der Datums- und Zeitangabe kann jede Komponente als >>*<< spezifiziert werden. In diesem Fall wird jeder Wert passen. Alternativ kann jede Komponente als durch Kommata getrennte Liste von Werten festgelegt werden. Den Werten kann >>/<< und ein Wiederholungswert angehangt werden, der anzeigt, dass der Wert selber und der Wert plus alle Vielfachen des Wiederholungswertes passen. Zwei durch >>..<< getrennte Werte konnen verwandt werden, um einen Wertebereich anzuzeigen; an Bereiche kann auch ein >>/<< und ein Wiederholungswert angehangt werden. In letzterem Fall passt der Ausdruck auf alle Zeiten, die mit dem Startwert beginnen und mit allen Vielfachen des Wiederholungswertes fur den Startwert fortfahren und spatestens beim Endwert enden. Eine Datumsangabe darf >>~<< verwenden, um den letzten Tag eines Monats anzuzeigen. Beispielsweise bedeutet >>*-02~03<< >>der drittletzte Tag im Februar<< und >>Mon *-05~07/1<< bedeutet >>der letzte Montag im Mai<<. Die zweite Komponente darf dezimale Bruchteile sowohl im Wert als auch in der Wiederholung enthalten. Alle Nachkommastellen werden auf 6 Dezimalstellen gerundet. Die Angabe entweder der Zeit oder des Datums darf entfallen. In diesem Fall wird *-*-* bzw. 00:00:00 impliziert. Falls die Sekunden-Komponente nicht festgelegt ist, wird >>:00<< angenommen. Zeitzonen konnen als wortliche Zeichenkette >>UTC<< oder als lokale Zeitzone festgelegt werden, ahnlich der unterstutzten Syntax von Zeitstempeln (siehe oben) oder der Zeitzone in dem IANA-Zeitzonendatenbankformat (siehe auch oben). Die folgenden besonderen Ausdrucke konnen als Abkurzungen fur langere normierte Formen verwandt werden: minutely -> *-*-* *:*:00 hourly -> *-*-* *:00:00 daily -> *-*-* 00:00:00 monthly -> *-*-01 00:00:00 weekly -> Mon *-*-* 00:00:00 yearly -> *-01-01 00:00:00 quarterly -> *-01,04,07,10-01 00:00:00 semiannually -> *-01,07-01 00:00:00 Beispiele fur gultige Zeitstempel und ihre normierte Form: Sat,Thu,Mon..Wed,Sat..Sun -> Mon..Thu,Sat,Sun *-*-* 00:00:00 Mon,Sun 12-*-* 2,1:23 -> Mon,Sun 2012-*-* 01,02:23:00 Wed *-1 -> Wed *-*-01 00:00:00 Wed..Wed,Wed *-1 -> Wed *-*-01 00:00:00 Wed, 17:48 -> Wed *-*-* 17:48:00 Wed..Sat,Tue 12-10-15 1:2:3 -> Tue..Sat 2012-10-15 01:02:03 *-*-7 0:0:0 -> *-*-07 00:00:00 10-15 -> *-10-15 00:00:00 monday *-12-* 17:00 -> Mon *-12-* 17:00:00 Mon,Fri *-*-3,1,2 *:30:45 -> Mon,Fri *-*-01,02,03 *:30:45 12,14,13,12:20,10,30 -> *-*-* 12,13,14:10,20,30:00 12..14:10,20,30 -> *-*-* 12..14:10,20,30:00 mon,fri *-1/2-1,3 *:30:45 -> Mon,Fri *-01/2-01,03 *:30:45 03-05 08:05:40 -> *-03-05 08:05:40 08:05:40 -> *-*-* 08:05:40 05:40 -> *-*-* 05:40:00 Sat,Sun 12-05 08:05:40 -> Sat,Sun *-12-05 08:05:40 Sat,Sun 08:05:40 -> Sat,Sun *-*-* 08:05:40 2003-03-05 05:40 -> 2003-03-05 05:40:00 05:40:23.4200004/3.1700005 -> *-*-* 05:40:23.420000/3.170001 2003-02..04-05 -> 2003-02..04-05 00:00:00 2003-03-05 05:40 UTC -> 2003-03-05 05:40:00 UTC 2003-03-05 -> 2003-03-05 00:00:00 03-05 -> *-03-05 00:00:00 hourly -> *-*-* *:00:00 daily -> *-*-* 00:00:00 daily UTC -> *-*-* 00:00:00 UTC monthly -> *-*-01 00:00:00 weekly -> Mon *-*-* 00:00:00 weekly Pacific/Auckland -> Mon *-*-* 00:00:00 Pacific/Auckland yearly -> *-01-01 00:00:00 annually -> *-01-01 00:00:00 *:2/3 -> *-*-* *:02/3:00 Kalenderereignisse werden von Timer-Units verwandt, siehe systemd.timer(5) fur Details. Verwenden Sie den Befehl calendar von systemd-analyze(1), um Kalenderzeitangaben zu Testzwecken zu prufen und zu normieren. Das Werkzeug berechnet auch, wann ein festgelegtes Kalenderereignis als nachstes eintreten wurde. SIEHE AUCH systemd(1), journalctl(1), systemd.timer(5), systemd.unit(5), systemd.directives(7), systemd-analyze(1) ANMERKUNGEN 1. RFC 3339 https://tools.ietf.org/html/rfc3339 UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 SYSTEMD.TIME(7)