Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Kenntnisse zur Python-Zeiterfassung und -Konvertierung

Zusammenfassung der Kenntnisse zur Python-Zeiterfassung und -Konvertierung

高洛峰
高洛峰Original
2017-01-12 15:30:291546Durchsuche

Zeitverarbeitung ist die häufigste Anforderung in unserer täglichen Entwicklung, wie zum Beispiel: Abrufen der aktuellen Datumszeit, Abrufen des heutigen Datums, Abrufen von morgen/vorherigen N Tagen, Abrufen der Start- und Endzeit des Tages (00:00:00 23 :59:59 ), den Zeitunterschied zwischen zwei Datumsangaben, den letzten Tag dieser Woche/dieses Monats/letzten Monats usw. abrufen. Diese Konvertierungen scheinen chaotisch und schwer zu merken zu sein, daher werden wir heute die Zeitverarbeitung von Python zusammenfassen.

Prinzip: Nehmen Sie datetime als Zentrum, Ausgangspunkt oder Transit und konvertieren Sie es in das Zielobjekt, um die in den meisten Geschäftsszenarien erforderliche Datumskonvertierungsverarbeitung abzudecken

Schritte:

1. Beherrschen Sie mehrere Objekte und ihre Beziehungen

2. Verstehen Sie die grundlegenden Betriebsmethoden jedes Objekttyps

3 >datetime ist Datum Eine Kombination mit Zeit, einschließlich aller Informationen zu Datum und Uhrzeit.


Der Funktionsprototyp ist:


datetime datetime (Jahr, Monat, Tag[ , Stunde[ , Minute[ , Sekunde[ , Mikrosekunde[ , tzinfo] ] ] ] ] )

Die Bedeutung jedes Parameters ist dieselbe wie in den Datums- und Uhrzeitkonstruktoren. Achten Sie auf den Bereich der Parameterwerte.


Beispiel:

1. Holen Sie sich das Datetime-Objekt

Der Code lautet wie folgt:

2. Holen Sie sich den Zeitstempel (Timestamp)
import datetime
now = datetime.datetime.now()
#输出:datetime.datetime(2016, 11, 26, 8, 34, 30, 876359)

Der Zeitstempel ist die Anzahl der Sekunden seit dem 1. Januar 1970 (00:00:00 GMT). Er wird auch Unix-Zeitstempel genannt.

Der Code lautet wie folgt:

3. Holen Sie sich das Zeittupel (Tupel)
import time
time.time()
#输出:1480120686.733905

Der Code lautet wie folgt:

4. Uhrzeit-String abrufen (String)
import time
time.localtime()
#输出:time.struct_time(tm_year=2016, tm_mon=11, tm_mday=26, tm_hour=8, tm_min=39, tm_sec=33, tm_wday=5, tm_yday=331, tm_isdst=0)

String-Format-Parameterliste:

datetime (format)

%a: Abkürzung der Woche. Beispielsweise ist Mittwoch Web
%A: Der vollständige Buchstabe der Woche. Beispielsweise ist Mittwoch Mittwoch
%b: die Abkürzung für Monat. Beispielsweise ist April Apr
%B: der ganze Monat. Der Monat April ist beispielsweise April
%c: Zeichenfolgendarstellung von Datum und Uhrzeit. (Zum Beispiel: 07.04.10 10:43:39)
%d: Die Anzahl der Tage in diesem Monat (der Tag des Monats)
%f: Mikrosekunden (Bereich [0,999999 ])
%H: Stunde (24-Stunden-Format, [0, 23])
%I: Stunde (12-Stunden-Format, [0, 11])
%j: Die Anzahl der Tage im Jahr [001,366] (der Tag des Jahres)
%m: Monat ([01,12])
%M: Minute ([00,59])
%p: AM oder PM
%S: Sekunden (Bereich ist [00, 61], warum nicht [00, 59], siehe Python-Handbuch~_~)
%U: Die Anzahl der Wochen im aktuellen Jahr und die Anzahl der Wochen im laufenden Jahr), Sonntag als erster Tag der Woche
%w: Die Anzahl der heutigen Tage in dieser Woche, der Bereich ist [0, 6], 6 bedeutet Sonntag
%W: Die Zahl Anzahl der Wochen im aktuellen Jahr (die Nummer des aktuellen Jahres), Montag ist der erste Tag der Woche
%x: Datumszeichenfolge (z. B.: 07.04.10)
%X: Zeitzeichenfolge (z. B : 10:43:39)
%y: Jahr dargestellt durch 2 Ziffern
%Y: Jahr dargestellt durch 4 Ziffern
%z: Intervall mit UTC-Zeit (wenn es Ortszeit ist, geben Sie eine leere Zeichenfolge zurück )
%Z: Zeitzonenname (wenn es sich um die Ortszeit handelt, wird eine leere Zeichenfolge zurückgegeben)
%%: %% => %

Der Code lautet wie folgt:

5.date (Datum)
import datetime
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
'2016-11-26 08:40:39'

Der Code lautet wie folgt:

import datetime
datetime.datetime.now().date()
datetime.date(2016, 11, 26)

6. Holen Sie sich das heutige Datum

Der Der Code lautet wie folgt:

7. Holen Sie sich morgen/die letzten N Tage
import datetime
datetime.date.today()
datetime.date(2016, 11, 26)

Morgen

Der Code lautet wie folgt:

import datetime
datetime.date.today() + datetime.timedelta(days=1)
datetime.date(2016, 11, 27)

Vor zwei Tagen

Der Code lautet wie folgt:

import datetime
>>> datetime.datetime.now()
datetime.datetime(2016, 11, 26, 8, 42, 59, 665368)
>>> datetime.datetime.now() - datetime.timedelta(days=3)
datetime.datetime(2016, 11, 24, 8, 43, 14, 696948)

8. 00:00 23:59:59)

Der Code lautet wie folgt:

import datetime
datetime.datetime.combine(datetime.date.today(), datetime.time.min)
datetime.datetime(2016, 11, 26, 0, 0)
datetime.datetime.combine(datetime.date.today(), datetime.time.max)
datetime.datetime(2016, 11, 26, 23, 59, 59, 999999)

9. Ermitteln Sie den Zeitunterschied zwischen zwei Datumsangaben

Der Code lautet wie folgt:

import datetime
(datetime.datetime(2016,12,13,12,0,0) - datetime.datetime.now()).total_seconds()
1480506.809658

10. Holen Sie sich den letzten Tag dieser Woche/dieses Monats/letzten Monats

Diese Woche

Code lautet wie folgt:

import datetime
today = datetime.date.today()
#输出: datetime.date(2016, 11, 26)
sunday = today + datetime.timedelta(6 - today.weekday())
#输出:datetime.date(2016, 11, 27)

Der

-Code dieses Monats lautet wie folgt:

import calendar
today = datetime.date.today()
last_day_num = calendar.monthrange(today.year, today.month)
last_day = datetime.date(today.year, today.month, last_day_num)
#输出:datetime.date(2016, 11, 30)

11 . Holen Sie sich den letzten Tag des letzten Monats (kann sich über ein neues Jahr erstrecken)

Der Code lautet wie folgt:

import datetime
today = datetime.date.today()
first = datetime.date(day=1, month=today.month, year=today.year)
lastMonth = first - datetime.timedelta(days=1)
#输出:datetime.date(2016, 10, 31)

Andere Verwendungsbeispiele:

Der Code lautet wie folgt:

#当月1号
datetime.date(datetime.date.today().year,datetime.date.today().month,1)
#当月1号
datetime.date.today().replace(day=1)
#上月1号
(datetime.date.today().replace(day=1) - datetime.timedelta(1)).replace(day=1)

Das Obige ist eine Zusammenfassung der vom Herausgeber vorgestellten Kenntnisse zur Python-Zeiterfassung und -konvertierung. Ich hoffe, dass es für Sie hilfreich ist. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!

Weitere Artikel zu Python-Zeiterfassungs- und Konvertierungswissenszusammenfassungen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn