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.
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..
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.
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)
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 '
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.
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.
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.