Pfeil für ein besseres Datum und eine bessere Uhrzeit in Python

Das Ändern von Datum und Uhrzeit ist in jeder Programmiersprache ein gängiges Szenario. Ohne die Hilfe einer praktischen Bibliothek kann es zu einem langwierigen Job werden, der ausreichend Anstrengung erfordert. Schauen wir uns das an Pfeil Bibliothek, die stark von populär verwendeten Python-Bibliotheken inspiriert ist Moment.js und Anfragen. Arrow bietet eine freundliche Herangehensweise für die Handhabung von Datum und Uhrzeit, für die Erstellung usw. 

Aus der offiziellen Dokumentation:

Arrow ist eine Python-Bibliothek, die einen sinnvollen, benutzerfreundlichen Ansatz zum Erstellen, Bearbeiten, Formatieren und Konvertieren von Datumsangaben, Zeitangaben und Zeitstempeln bietet. Es implementiert und aktualisiert den Datetime-Typ, schließt Funktionslücken ein und stellt eine intelligente Modul-API bereit, die viele gängige Erstellungsszenarien unterstützt.

Erste Schritte mit Arrow

Um mit der Pfeil Wenn Sie eine Bibliothek verwenden, muss Python auf Ihrem System installiert sein. Stellen Sie auch sicher, dass Sie haben Pip, Python-Paketmanager, installiert in Ihrer Umgebung.

Installieren Sie nun Arrow mit pip.

pip installieren pfeil

Sie erfahren, wie Sie Arrow in Ihrem Webanwendungsentwicklungsprojekt für die Bearbeitung von Datum und Uhrzeit, für die Erstellung usw. verwenden. Beginnen wir mit dem Erstellen einer Webanwendung mit Python Flask.

Installieren Sie Python Flask mithilfe von pip, falls noch nicht installiert.

pip install Flask

Erstellen Sie eine Datei mit dem Namen app.py Das wäre die Python-Anwendungsdatei. Fügen Sie den folgenden Code hinzu app.py:

von flask import Flask app = Flask (__ name__) @ app.route ("/") def hallo (): gebe "Welcome to Arrow Library" zurück, wenn __name__ == '__main__': app.run ()

Speichern Sie die obigen Änderungen und führen Sie die Anwendung mit aus python app.py, und Sie sollten die Anwendung auf http: // localhost: 5000 / ausführen..

Ortszeit zu UTC-Zeit & umgekehrt

Eines der häufigsten Szenarien in einem Webanwendungsentwicklungsprojekt ist das Abrufen der Ortszeit, das Konvertieren der Ortszeit in UTC-Zeit (Coordinated Universal Time) und das anschließende Konvertieren der UTC-Zeit in Ortszeit für die Anzeige in einer Webanwendung nach Zeit Zone. 

Benutzen Pfeil In Ihrem Python Flask-Projekt müssen Sie die Bibliothek importieren app.py.

Pfeil importieren

Nach dem Import können Sie das Pfeilobjekt sofort zur Manipulation und Erstellung von Datum und Uhrzeit verwenden.

Lassen Sie uns eine Route und eine Methode zum Abrufen der Ortszeit erstellen. Fügen Sie eine Route hinzu getLocalTime und seine entsprechende Methode. Pfeil bietet eine Methode namens jetzt um die aktuelle Ortszeit zu erhalten. Verwenden Sie die jetzt Methode, um die Ortszeit abzurufen und das Datum zurückzugeben, das Sie zum Konvertieren in das ISO-Format benötigen. So sieht der Code aus:

@ app.route ("/ getLocalTime") def getLocalTime (): local = arrow.now () return local.isoformat ()

Speichern Sie die obigen Änderungen und starten Sie den Server erneut. Richten Sie Ihren Browser auf http: // localhost: 5000 / getLocalTime und Sie sollten die Ortszeit anzeigen können.

Normalerweise speichern Sie Datum und Uhrzeit im UTC-Format in Datenbanken und zeigen die Ortszeit an, indem Sie die UTC-Zeit in Ortszeit umrechnen. Schauen wir uns also an, wie die Ortszeit für die Datenbankspeicherung in UTC-Zeit konvertiert wird. 

Erstellen Sie eine Route und eine Methode, die aufgerufen wird getCurrentUtcTime. Um die aktuelle UTC-Zeit abzurufen, stellt arrow eine aufgerufene Methode bereit utcnow. Sie können es verwenden, um die aktuelle UTC-Zeit wie folgt abzurufen:

@ app.route ("/ getCurrentUtcTime") def getCurrentUtcTime (): utc = arrow.utcnow () Rückgabe utc.isoformat ()

Die obige Methode erhält die aktuelle UTC-Zeit. Wenn Sie bereits ein Datum und eine Uhrzeit haben, für die Sie die UTC abrufen möchten, zeigt der Pfeil ein zu Methode dafür. Verwendung der zu müssen Sie die Zeitzone angeben, in die Datum und Uhrzeit konvertiert werden sollen. So können Sie die Ortszeit in UTC umrechnen:

@ app.route ("/ getUtcTime") def getUtcTime (): local = arrow.now () utc = local.to ('utc') Rückgabe utc.isoformat ()

Wenn Sie Datum und Uhrzeit in der Datenbank speichern, speichern Sie es als Zeitstempel. Um den UTC-Zeitstempel zu erhalten, müssen Sie das aufrufen .Zeitstempel Attribut des Objekts.

arrow.now (). Zeitstempel

Sie können den UTC-Zeitstempel nicht anzeigen, wenn Sie Daten auf der Clientseite anzeigen. Sie müssen den UTC-Zeitstempel in Ortszeit konvertieren. Dazu müssen Sie zunächst das Pfeilobjekt mit der. Erstellen arrow.get Methode. Dann können Sie die verwenden arrow.to Methode zum Konvertieren der UTC-Zeit in Ortszeit. So sieht der Code aus:

@ app.route ("/ convertUtcToLocal") def convertUtcToLocal (): local = arrow.now () utcTimeStamp = local.to ('utc'). timestamp localDateObj = arrow.get (utcTimeStamp) .to ('local') zurück localDateObj.isoformat ()

Speichern Sie die obigen Änderungen und starten Sie den Server erneut. Richten Sie Ihren Browser auf http: // localhost: 5000 / convertUtcToLocal, und Sie sollten in der Lage sein, die Ortszeit anzuzeigen, indem Sie den UTC-Zeitstempel in Ortszeit umwandeln.

Datum & Uhrzeit bearbeiten

In den meisten Fällen müssen Datum und Uhrzeit geändert werden, indem dem datetime-Objekt einige Stunden, Minuten usw. hinzugefügt oder entfernt werden. Pfeil bietet zwei Methoden, die aufgerufen werden ersetzen und Verschiebung zum Manipulieren des datetime-Objekts.

Nehmen wir an, Sie haben ein Pfeil-Datumsobjekt. Jetzt möchten Sie einige Dinge im datetime-Objekt ersetzen. Sie möchten die Minute und Sekunde der Datumszeit ändern.

>>> localDateTime = arrow.now () >>> localDateTime  

Um die Minute und Sekunde des zu ersetzen localDateTime, du kannst den ... benutzen ersetzen Methode, die von der Pfeilbibliothek bereitgestellt wird. So sieht die Syntax aus:

>>> localDateTime.replace (Minute = 01, Sekunde = 01)  

Wenn Sie die Datumszeit um einen bestimmten Parameter wie Tag, Stunde, Woche usw. erhöhen möchten, können Sie das verwenden Verschiebung Methode. Sie müssen lediglich den Parameter angeben, mit dem Sie die Datumszeit verschieben müssen. Angenommen, Sie müssen die Datumszeit um einen Tag erhöhen. Der Code würde so aussehen:

>>> localDateTime = arrow.now () >>> localDateTime  >>> localDateTime.shift (Tage = +1)  

Um die Datumszeit um zwei Tage zu verringern, würde der Code folgendermaßen aussehen:

>>> localDateTime.shift (Tage = -2)  

Datum mit Pfeil formatieren

Um die Datumszeit nach Ihrem benutzerdefinierten Format zu formatieren, können Sie das verwenden Format Methode durch Pfeil bereitgestellt. 

Zum Beispiel, um datetime in zu formatieren JJJJ-MM-TT Format benötigen Sie folgenden Code:

>>> localDateTime = arrow.now () >>> localDateTime  >>> localDateTime.format ('JJJJ-MM-TT') u'2017-09-29 ' 

Analog zum Formatieren von Datum und Uhrzeit JJJJ-MM-TT HH: mm: ss Format benötigen Sie folgenden Code:

>>> localDateTime  >>> localDateTime.format ('JJJJ-MM-TT HH: mm: ss') u'2017-09-29 08:32:28 ' 

Menschenfreundliche DateTime-Darstellung

Pfeil bietet eine Methode namens vermenschlichen um die datetime in einer menschenfreundlichen darstellung darzustellen. In den meisten Fällen muss der Benutzer wissen, wie viel Zeit seit einer bestimmten Zeit vergangen ist. Du kannst den ... benutzen vermenschlichen Methode, um dem Benutzer anzuzeigen, wie viel Zeit es seitdem war. Hier ist ein Beispielcode:

>>> currentDate = arrow.now () >>> currentDate  >>> currentDate.humanize () u 'just now' 

Wenn Sie humanize verwenden, um darzustellen, wie viel Zeit seit der aktuellen Datumszeit vergangen ist, würde das obige Ergebnis angezeigt.

Schauen wir uns jetzt einen früheren Termin an.

>>> beforeDate = arrow.now (). shift (days = -3) >>> beforeDate  >>> beforeDate.humanize () vor 3 Tagen ' 

Wie im obigen Code zu sehen, haben Sie gerade die vermenschlichen Methode mit einem früheren Datum und zeigt die relative Anzahl von Tagen mit dem aktuellen Datum.

Sie können auch verwenden vermenschlichen um die relative Anzahl der Tage zwischen zwei Daten anzuzeigen. Zum Beispiel:

>>> laterDate = arrow.now (). shift (days = + 3) >>> laterDate  >>> beforeDate = arrow.now (). shift (days = -3) >>> beforeDate  >>> beforeDate.humanize (laterDate) vor 5 Tagen ' 

Wie im obigen Beispiel gezeigt, haben Sie ein späteres Datum und ein früheres Datum erstellt, indem Sie die Anzahl der Tage verschoben haben. Dann haben Sie die relative Anzahl der Tage von geprüft früheres Datum zu späteren Zeitpunkt Verwendung der vermenschlichen Methode, die die obige Nachricht gedruckt hat.

Konvertieren in eine andere Zeitzone

Pfeil liefert ein Konvertieren Methode, um die Ortszeit in eine bevorzugte Zeitzone umzuwandeln. Um beispielsweise die Ortszeit in UTC-Zeit umzuwandeln, können Sie den folgenden Befehl verwenden:

>>> arrow.now (). bis ('utc')  

Um die UTC-Zeit zurück in die lokale Zeitzone zu konvertieren, können Sie den folgenden Code verwenden:

>>> utcTime = arrow.now (). an ('utc') >>> utcTime  >>> utcTime.to ('local')  

Um die UTC-Zeit in eine bestimmte Zeitzone umzuwandeln, können Sie die Zeitzone angeben, und Sie erhalten die Uhrzeit aus dieser bestimmten Zeitzone. Zum Beispiel:

>>> utcTime.to ('America / New_York')  

Im obigen Code haben Sie die UTC-Zeit angegeben, die in die konvertiert werden soll America / New_York Zeitzone, und auf ähnliche Weise können Sie jede Zeitzone angeben, in die UTC konvertiert werden soll.

Verpacken

In diesem Lernprogramm haben Sie gesehen, wie Sie Arrow verwenden, eine Python-Bibliothek zur Datums- und Zeitmanipulation, Erstellung und Formatierung. Aus der Sicht des Entwicklers scheint die Arrow-Bibliothek bei der Verwendung in einem Python-Projekt vollständig für Datums- und Zeitmanipulationen zu sein.

Zögern Sie nicht, zu sehen, was wir zum Verkauf und zum Studium in Envato Market zur Verfügung haben, und zögern Sie nicht, Fragen zu stellen und mit dem untenstehenden Feed wertvolles Feedback zu geben.

Haben Sie bereits Erfahrung mit der Arrow-Bibliothek? Was ist Ihre Meinung? Haben Sie bei der Verwendung der Bibliothek Probleme festgestellt? Teilen Sie uns Ihre Gedanken und Vorschläge in den Kommentaren unten mit.