Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python-Datetime

Python-Datum/Uhrzeit

In diesem Artikel lernen Sie anhand von Beispielen, Datum und Uhrzeit in Python zu manipulieren.

Video:Python datetime – Arbeiten mit Datums- und Zeitangaben

Python hat ein Modul namens datetime mit Datum und Uhrzeit arbeiten. Lassen Sie uns ein paar einfache Programme erstellen, die sich auf Datum und Uhrzeit beziehen, bevor wir tiefer graben.


Beispiel 1:Aktuelles Datum und Uhrzeit abrufen

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

Wenn Sie das Programm ausführen, sieht die Ausgabe in etwa so aus:

2018-12-19 09:26:03.478039

Hier haben wir datetime importiert Modul mit import datetime Erklärung.

Eine der in datetime definierten Klassen Modul ist datetime Klasse. Wir haben dann now() verwendet Methode zum Erstellen eines datetime Objekt, das das aktuelle lokale Datum und die Uhrzeit enthält.


Beispiel 2:Aktuelles Datum abrufen


import datetime

date_object = datetime.date.today()
print(date_object)

Wenn Sie das Programm ausführen, sieht die Ausgabe in etwa so aus:

2018-12-19

In diesem Programm haben wir today() verwendet in date definierte Methode Klasse, um eine date zu erhalten Objekt, das das aktuelle lokale Datum enthält.


Was ist in datetime enthalten?

Wir können die Funktion dir() verwenden, um eine Liste mit allen Attributen eines Moduls zu erhalten.

import datetime

print(dir(datetime))

Wenn Sie das Programm ausführen, lautet die Ausgabe:


['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

Häufig verwendete Klassen im datetime-Modul sind:


datetime.date-Klasse

Sie können date instanziieren Objekte aus dem date Klasse. Ein Datumsobjekt repräsentiert ein Datum (Jahr, Monat und Tag).


Beispiel 3:Datumsobjekt zur Darstellung eines Datums


import datetime

d = datetime.date(2019, 4, 13)
print(d)

Wenn Sie das Programm ausführen, lautet die Ausgabe:

2019-04-13

Wenn Sie sich fragen, date() im obigen Beispiel ist ein Konstruktor von date Klasse. Der Konstruktor akzeptiert drei Argumente:Jahr, Monat und Tag.

Die Variable a ist ein date Objekt.


Wir können nur date importieren Klasse aus datetime Modul. So geht's:


from datetime import date

a = date(2019, 4, 13)
print(a)

Beispiel 4:Aktuelles Datum abrufen

Sie können einen date erstellen Objekt, das das aktuelle Datum enthält, mithilfe einer Klassenmethode namens today() . So geht's:


from datetime import date

today = date.today()

print("Current date =", today)

Beispiel 5:Datum aus einem Zeitstempel abrufen

Wir können auch date erstellen Objekte aus einem Zeitstempel. Ein Unix-Zeitstempel ist die Anzahl der Sekunden zwischen einem bestimmten Datum und dem 1. Januar 1970 um UTC. Sie können einen Zeitstempel mit fromtimestamp() in ein Datum konvertieren Methode.


from datetime import date

timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)

Wenn Sie das Programm ausführen, lautet die Ausgabe:

Date = 2012-01-11

Beispiel 6:Aktuelles Jahr, Monat und Tag drucken

Wir können Jahr, Monat, Tag, Wochentag usw. leicht aus dem Datumsobjekt erhalten. So geht's:


from datetime import date

# date object of today's date
today = date.today() 

print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

DatumUhrzeit.Uhrzeit

Ein Zeitobjekt, das von time instanziiert wird Klasse stellt die Ortszeit dar.


Beispiel 7:Zeitobjekt zur Darstellung der Zeit


from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

Wenn Sie das Programm ausführen, lautet die Ausgabe:


a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

Beispiel 8:Stunde, Minute, Sekunde und Mikrosekunde drucken

Sobald Sie einen time erstellt haben -Objekt können Sie seine Attribute wie Stunde einfach ausdrucken , Minute usw.


from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

Wenn Sie das Beispiel ausführen, lautet die Ausgabe:


hour = 11
minute = 34
second = 56
microsecond = 0

Beachten Sie, dass wir Mikrosekunde nicht überschritten haben Streit. Daher sein Standardwert 0 wird gedruckt.


datetime.datetime

Die datetime Modul hat eine Klasse namens dateclass das Informationen von beiden Datum enthalten kann und Zeit Objekte.


Beispiel 9:Python-Datetime-Objekt


from datetime import datetime

#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)

# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)

Wenn Sie das Programm ausführen, lautet die Ausgabe:


2018-11-28 00:00:00
2017-11-28 23:55:59.342380

Die ersten drei Argumente year , Monat und Tag im datetime() Konstruktor sind obligatorisch.


Beispiel 10:Jahr, Monat, Stunde, Minute und Zeitstempel drucken


from datetime import datetime

a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

Wenn Sie das Programm ausführen, lautet die Ausgabe:


year = 2017
month = 11
day = 28
hour = 23
minute = 55
timestamp = 1511913359.34238

datetime.timedelta

Ein timedelta Objekt stellt die Differenz zwischen zwei Daten oder Zeiten dar.


Beispiel 11:Unterschied zwischen zwei Datums- und Zeitangaben


from datetime import datetime, date

t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))  

Wenn Sie das Programm ausführen, lautet die Ausgabe:


t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20
type of t3 = <class 'datetime.timedelta'>
type of t6 = <class 'datetime.timedelta'>

Beachten Sie, beide t3 und t6 sind <class 'datetime.timedelta'> Typ.


Beispiel 12:Unterschied zwischen zwei timedelta-Objekten


from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

Wenn Sie das Programm ausführen, lautet die Ausgabe:


t3 = 14 days, 13:55:39

Hier haben wir zwei timedelta erstellt Objekte t1 und t2 , und ihre Differenz wird auf dem Bildschirm ausgedruckt.


Beispiel 13:Negatives Zeitdelta-Objekt drucken


from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

Wenn Sie das Programm ausführen, lautet die Ausgabe:


t3 = -1 day, 23:59:39
t3 = 0:00:21

Beispiel 14:Zeitdauer in Sekunden

Sie können die Gesamtzahl der Sekunden in einem timedelta-Objekt mit total_seconds() abrufen Methode.


from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

Wenn Sie das Programm ausführen, lautet die Ausgabe:


total seconds = 435633.233423

Mit + können Sie auch die Summe zweier Datums- und Zeitangaben finden Operator. Außerdem können Sie timedelta multiplizieren und dividieren Objekt durch Ganzzahlen und Gleitkommazahlen.


Datum/Uhrzeit im Python-Format

Die Darstellung von Datum und Uhrzeit kann je nach Ort, Organisation usw. unterschiedlich sein. Üblicher ist die Verwendung von mm/dd/yyyy in den USA, während dd/mm/yyyy ist in Großbritannien häufiger.

Python hat strftime() und strptime() Methoden, um damit umzugehen.


Python strftime() - datetime-Objekt zu String

Der strftime() Methode ist unter Klassen date definiert , datetime und time . Die Methode erstellt einen formatierten String aus einem gegebenen date , datetime oder time Objekt.


Beispiel 15:Datum mit strftime() formatieren


from datetime import datetime

# current date and time
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

Wenn Sie das Programm ausführen, sieht die Ausgabe in etwa so aus:


time: 04:34:52
s1: 12/26/2018, 04:34:52
s2: 26/12/2018, 04:34:52

Hier %Y , %m , %d , %H usw. sind Formatcodes. Der strftime() -Methode nimmt einen oder mehrere Formatcodes und gibt basierend darauf eine formatierte Zeichenfolge zurück.

Im obigen Programm t , s1 und s2 sind Zeichenfolgen.

Um mehr über strftime() zu erfahren und Formatcodes finden Sie unter:Python strftime().


Python strptime() - String bis datetime

Der strptime() -Methode erstellt einen datetime Objekt aus einem gegebenen String (der Datum und Uhrzeit darstellt).


Beispiel 16:strptime()


from datetime import datetime

date_string = "21 June, 2018"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

Wenn Sie das Programm ausführen, lautet die Ausgabe:


date_string = 21 June, 2018
date_object = 2018-06-21 00:00:00

Der strptime() Methode nimmt zwei Argumente:

  1. eine Zeichenfolge, die Datum und Uhrzeit darstellt
  2. Formatcode, der dem ersten Argument entspricht

Übrigens %d , %B und %Y Formatcodes werden für Tag verwendet , Monat (vollständiger Name) und Jahr bzw..

Besuchen Sie Python strptime(), um mehr zu erfahren.


Umgang mit der Zeitzone in Python

Angenommen, Sie arbeiten an einem Projekt und müssen Datum und Uhrzeit basierend auf ihrer Zeitzone anzeigen. Anstatt zu versuchen, die Zeitzone selbst zu verwalten, empfehlen wir Ihnen, ein pytZ-Modul eines Drittanbieters zu verwenden.


from datetime import datetime
import pytz

local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))


tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

Wenn Sie das Programm ausführen, sieht die Ausgabe in etwa so aus:


Local time: 2018-12-20 13:10:44.260462
America/New_York time: 2018-12-20 13:10:44.260462
Europe/London time: 2018-12-20 13:10:44.260462	

Hier, datetime_NY und datetime_London sind datetime-Objekte, die das aktuelle Datum und die Uhrzeit ihrer jeweiligen Zeitzone enthalten.


Python

  1. Python-Datentypen
  2. Python-Operatoren
  3. Python-pass-Anweisung
  4. Python-Funktionsargumente
  5. Python-Wörterbuch
  6. Python-Iteratoren
  7. Python-Schließungen
  8. Wie bekomme ich das aktuelle Datum und die Uhrzeit in Python?
  9. Python Holen Sie sich die aktuelle Zeit
  10. Python-Schlaf()