Die Anleitung zu Python Date Time
1. Die Überblick
Python bietet Ihnen 4 Module über die Datum und die Zeit.
Module | Die Bezeichnung |
time | time ist eine Module, die die Funktion und die Konstante über das Datum und die Zeit umfasst. Keine Klasse werden in dieser Module definiert |
datetime | Diese Module definiert einige Klasse zur Vertretung des Datum und der Zeit |
calendar | Diese Module fasst die Funktion über den Kalender um. Sie definiert die Klasse zur Kalendervertretung und die betreffenden Ausnahmen (exception) |
locale | Diese Module fasst die Funktion zur Formatierung oder zur Analyse (parse) des Datum und der Zeit nach dem locale |
datetime module:
datetime ist eine Module, die objektsorientiert designed wird um mit dem Datum und der Zeit im Python umzugehen. Sie hat einige Klasse zur Vertretung des Datum und der Zeit
Die Klasse | Die Bezeichnung |
datetime.date | Ein Objekt date vertritt das Datum (date), umfasst die Zeit nach dem Gregorian Kalender |
datetime.datetime | Ein Objekt datetime vertritt das Datum (date) und die Zeit nach dem Gregorian Kalender |
datetime.time | Ein Objekt time vertritt die Zeit (time) ohne das Datum (date). |
datetime.tzinfo | Ist eine base abstract class für die timezone Informationsobjekte. |
datetime.timezone | Ist eine direkt Subklasse der Klasse tzinfo nach dem UTC Standard (Coordinated Universal Time) |
datetime.timedelta | Das Objekt timedelta bezeichnet einen Zeitsraum (duration), der zwischen 2 Zeitpunkte liegt |
calendar module:
calendar ist eine Module, die die Funktion, einige Klasse über den Kalender versorgt. Sie untersützt bei der Erstellung (generate) des Bildes des Kalender in der Format von text, html, ....
2. Der Begriff über Ticks
In der Computerwissenschaft ist das Datum 12h00 am 1. Januar 1970 sehr besonder. Seit 1.Januar 1970 wird die Zeit gerechnet. Diese Zeitpunkt wird epoch genannt (Computer-Ära sogenannt).
Im Python wird das Zeitraum zwischen die momentan Zeitpunkt und die obengenannte besondere Zeitpunkt die Sekundär (seconds) gerechnet. Das Zeitraum wird Ticks.genannt
Im Python wird das Zeitraum zwischen die momentan Zeitpunkt und die obengenannte besondere Zeitpunkt die Sekundär (seconds) gerechnet. Das Zeitraum wird Ticks.genannt
Die Funktion time() in der Module time bezeichnet die Sekunde (seconds) von der Zeitpunkt von Mittelnacht (12h00) am 1. Januar 1970 bis monentan. Sie gibt die Gleitpunktzahl rück (floating point)
ticketExample.py
# Die Module time importieren.
import time;
# Die Anzahl der Sekunde seit 12h morgen am 1-1-1970
ticks = time.time()
print ("Number of ticks since 12:00am, January 1, 1970: ", ticks)
Output:
Number of ticks since 12:00am, January 1, 1970: 1492244686.7766237
3. time module
time ist eine Module, die nur die Funktion und die Konstante über das Datum und die Zeit einschließen. Einige Klasse, die auf C/C++ schreiben, werden auf diese Module definiert. Zum Beispiel die Klasse struct_time.
Auf die Module time wird die Zeit durch Ticks oder struct_time vertretet. Sie hat die Funktion um Ticks oder struct_time zum String zu formatieren (format) und umgekehrt einen String zu Ticks oder struct_time.zu analysieren (parse)
0 | tm_year | (for example, 1993) |
1 | tm_mon | range [1, 12] |
2 | tm_mday | range [1, 31] |
3 | tm_hour | range [0, 23] |
4 | tm_min | range [0, 59] |
5 | tm_sec | range [0, 61]; See more below |
6 | tm_wday | range [0, 6], Monday is 0 |
7 | tm_yday | range [1, 366] |
8 | tm_isdst | 0, 1 or -1; see below |
N/A | tm_zone | abbreviation of timezone name |
N/A | tm_gmtoff | offset east of UTC in seconds |
tm_secDer Raum von der Sekunde (second) liegt von 0 bis 61; Das wird die doppelt Schaltsekunde (double leap seconds) erklärt. Obwohl es sehr selten ist
Die Funktion von time ruft auf die Funktionen, die in der Sprache C geschrieben werden,auf. Unten ist die Liste der üblichen Funktionen. Sie können für mehr Detail die Dokument auf die offiziellen Website vom Python.gucken
Ticks ==> struct_time
Die Funktion | Die Bezeichnung |
time.gmtime([secs]) | Die Zeit in die Sekunde ab die Zeitpunkt spoch zu einem struct_time in UTC rechnen, davon ist dst 0. Wenn der Parameter secs nicht gegeben wird oder None, hat er die standardmäßige Rückgabewert durch die Funktion time(). |
time.localtime([secs]) | So gleich wie die Funktion gmtime() aber sie wird in die lokalen Zeit (local time) umgesetzt. und dst hat die Wert von 1. |
Die Funktion gmtime([secs]) und localtime([secs]) geben auch das Typ struct_time.rück
time_gmtimeExample.py
import time
# Eine Sekunde nach dem Computer-Epoch.
# Die Funktion gibt ein Struct Typ: struct_time zurück
ts = time.gmtime(1)
print ("1 seconds after epoch: ")
print (ts)
print ("\n")
# Das Monentan wie time.gmtime( time.time() )
# Die Funktion gibt ein Struct Typ: struct_time zurück
ts = time.gmtime()
print ("struct_time for current time: ")
print (ts)
struct_time ==> Ticks
Sie können ein struct_time oder eine Tuple, die die Zeit vertreten, zu einem Ticks umsetzen (die Sekunde wird ab die Zeitpunkt spoch gerechnet).
time_mktime_example.py
import time
a_struct_time = time.localtime()
print ("Current time as struct_time: ");
print (a_struct_time)
# struct_time oder Tuple zur Ticks umwandeln.
ticks = time.mktime(a_struct_time)
print ("Ticks: ", ticks)
# Eine Tuple hat 9 Elemente.
aTupleTime = ( 2017, 4, 15, 13, 5, 34, 0, 0, 0)
print ("\n")
print ("A Tuple represents time: ")
print (aTupleTime)
# struct_time oder Tuple zur Ticks umwandeln.
ticks = time.mktime(aTupleTime)
print ("Ticks: ", ticks)
struct_time, Ticks ==> string
Die Funktion | Die Bezeichnung |
time.asctime([struct_t]) | Eine tuple oder struct_time ,die für die Zeit durch gmtime() oder localtime() vertreten, zu einem String wie : 'Sun Jun 20 23:21:05 1993' umsetzen. Wenn der Parameter struct_t nicht gebieten wird, wird die Zeit durch localtime() benutzt. Die lokale Information (locale) werden durch asctime().nicht benutzt |
time.ctime([secs]) | Umsetzung der Zeit in die Sekunde (seconds) ab die Zeitpunkt epoch zu einen String, der die Zeit des Computer vertretet (local time). Wenn der Parameter secs nicht gebietet wird oder None, wird die momentan Zeit durch time() benutzt.ctime(secs) ist so gleich wie asctime(localtime(secs)). Die lokale Information (locale) wird durch ctime().nicht benutzt |
time_asctime_ctime_example.py
import time
# Eine Tuple mit 9 Elemente
# (Year, month, day, hour, minute, second, wday, yday, isdst)
a_tuple_time = (2017, 4, 15 , 22 , 1, 29, 0, 0, 0)
a_timeAsString = time.asctime(a_tuple_time)
print ("time.asctime(a_tuple_time): ", a_timeAsString)
a_struct_time = time.localtime()
print ("a_struct_time: ", a_struct_time)
a_timeAsString = time.asctime(a_struct_time)
print ("time.asctime(a_struct_time): ", a_timeAsString)
# Die Anzahl der Sekunde seit 12h morgen am 1-1-1970 bis die aktuellen Zeit
ticks = time.time()
a_timeAsString = time.ctime(ticks)
print ("time.ctime(ticks): ", a_timeAsString)
Analysieren und formatieren
Die Module time bietet einige Funktionen um einen String zur Zeit zu analysieren (parse) und umgekehrt eine Format zu einen String.
Die Funktion | Die Bezeichnung |
time.strptime(string[, format] ) | Einen String einer Zeit nach einer Format analysieren. Rückgabe eines struct_time wie die Rückgabe durch die Funktion gmtime() oder localtime(). |
time.strftime(format [, t] ) | Umsetzung einer Tuple oder struct_time wie die Rückgabe durch die Funktion von gmtime() oder localtime() zu einem vom Parameter format bestimmten String. Wenn sie nicht gebietet wird, wird die Zeit durch localtime() benutzt. Der Parameter format muss ein String sein. ValueError kann geworfen sein (throw) wenn ein Feld (field) im Parameter 't' außer dem erlaubten Raum liegt |
Zum Beispiel: einen String zur Zeit mit Typ struct_time.analysieren
time_strptime_example.py
import time
# Ein die Zeit vertrettendes String.
aStringTime = "22-12-2007 23:30:59"
a_struct_time = time.strptime(aStringTime, "%d-%m-%Y %H:%M:%S")
print ("a_struct_time:")
print (a_struct_time)
Über die Module time mehr lesen
4. datetime module
datetime ist eine Module, die in die Richtung von einem Objekt zum Umgang mit Datum und der Zeit im Python gemacht wird. Es definiert einige Klasse für die Vertretung der Zeit und Datum
Die Klasse | Die Bezeichnung |
datetime.date | Ein Objekt date vertretet einem Datum (date) ohne die Zeit nach dem Kalendar Gregorian. |
datetime.datetime | Ein Objekt datetime vertretet einem Datum und die Zeit nach dem Kalendar Gregorian. |
datetime.time | Ein Objekt time vertretet die Zeit (time) ohne das Datum (date). |
datetime.tzinfo | Eine abstrakte Basisklasse (base abstract class) gibt dem Objekt die Information der Zeitzone |
datetime.timezone | Eine direkte Subklasse der Klasse tzinfo nach dem UTC Standard (Coordinated Universal Time) |
datetime.timedelta | A timedelta object represents a duration, the difference between two dates or times. |
5. datetime.timedelta
timedelta ist eine Klasse in der Module datetime, sie bezeichnet einen Zeitraum. Das ist der Unterschied zwischen 2 Zeit
Die Klasse timedelta hat 7 Attributes und die standardmäßige Wert von allen sind 0.
Attribute | Attribute | Range |
days | -999999999 : 999999999 | |
seconds | 0 : 86399 | |
microseconds | 1 seconds = 1000,000 microseconds | 0 : 999999 |
milliseconds | 1 seconds = 1000 milliseconds | |
minutes | ||
hours | ||
weeks |
Die Unterstützungsoperator.
t1 = t2 + t3 | t2 = (hours = 10, seconds= 2)
t3 = (hours = 1, minutes = 3) --> t1 = (hours= 11, minutes = 3, seconds = 2) |
t1 = t2 - t3 | t2 = (hours = 10, seconds= 2)
t3 = (hours = 1, minutes = 3) --> t1 = (hours= 8, minutes = 57, seconds = 2) |
t1 = t2 * i | t2 = (hours = 10, seconds= 2)
i = 3 --> t1 = (days =1, hours = 6, seconds= 6) |
t1 = t2 | t2 = (hours = 25, seconds= 2)
--> t1 = (days: 1, hours: 1, seconds: 2) |
+t1 | return t1 |
-t1 | t1 = (hours = 10, seconds= 2)
--> -t1 = (days = -1, hours = 13, minutes = 59, seconds= 58) |
abs(t) | Absolute value, equivalent to + t when t.days> = 0, and is -t when t.days <0.
t = (hours= -25, minutes = 3) --> t = (days = -2, hours = 23, minutes = 3) --> abs(t) = (days = 1, hours = 0, minutes = 57) |
str(t) | Returns the string in the form [D day [s],] [H] H: MM: SS [.UUUUUU], D can get negative value. |
repr(t) | Returns a string in the form datetime.timedelta (D [, S [, U]]), D can get negative value |
6. datetime.date
datetime.date ist eine Klasse. Ihr Objekt vertretet das Datum (date) ohne die Zeit
Constructor
** constructor **
# MINYEAR <= year <= MAXYEAR
# 1 <= month <= 12
# 1 <= day <= die Anzahl von Tagen durch den Jahr und Monat
date (year, month, day)
Der Constructor der Klasse date kann den Fehler ValueError werfen wenn die angewiesene Wert ungültig ist (außer der Bereich)
Die Konstanste
Die Konstante | Die Bezeichnung |
date.min | Den ersten Tag in der Bereich von der Klasse date bezeichnen, date(MINYEAR, 1, 1). |
date.max | Den letzten Tag in der Bereich von der Klasse date bezeichnen, date(MAXYEAR, 12, 31). |
date.resolution | Der kleiste Unterschied zwischen die nicht-gleichen Objekte date , timedelta(days=1). |
Die Operator
date2 = date1 + timedelta | Ein Zeitraum addieren, timedelta |
date2 = date1 - timedelta | Ein Zeitraum subtrahieren, timedelta |
timedelta = date1 - date2 | Die Subtrahierung 2 Objekte date. |
date1 < date2 | Der Vergleich des 2 Objekte date. |
Die Methode
Method | Description |
date.replace(year=self.year, month=self.month, day=self.day) | Return a date with the same value, except for the value replaced by the parameter.
For example: d == date(2002, 12, 31), d.replace(day=26) == date(2002, 12, 26). |
date.timetuple() | Return a time.struct_time such as returned by time.localtime(). The hours, minutes and seconds are 0, and the DST flag is -1.
d.timetuple() is equivalent to time.struct_time((d.year, d.month, d.day, 0, 0, 0, d.weekday(), yday, -1)), where yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1 is the day number within the current year starting with 1 for January 1st. |
date.toordinal() | Return the proleptic Gregorian ordinal of the date, where January 1 of year 1 has ordinal 1.
For any date object d, date.fromordinal(d.toordinal()) == d. |
date.weekday() | Return the day of the week as an integer, where Monday is 0 and Sunday is 6.
For example, date(2002, 12, 4).weekday() == 2, a Wednesday. See also isoweekday(). |
date.isoweekday() | Return the day of the week as an integer (According to ISO standard), where Monday is 1 and Sunday is 7.
For example, date(2002, 12, 4).isoweekday() == 3, a Wednesday. See also weekday(), isocalendar(). |
date.isocalendar() | Return a 3-tuple, (ISO year, ISO week number, ISO weekday). |
date.isoformat() | Return a string representing the date in ISO 8601 format, ‘YYYY-MM-DD’.
For example, date(2002, 12, 4).isoformat() == '2002-12-04'. |
date.__str__() | For a date d, str(d) is equivalent to d.isoformat(). |
date.ctime() | Return a string representing the date, for example date(2002, 12, 4).ctime() == 'Wed Dec 4 00:00:00 2002'.
d.ctime() is equivalent to time.ctime(time.mktime(d.timetuple())). The native C ctime() function conforms to the C standard when it run on flatform. |
date.strftime(format) | Return a string representing the date, In the format given by the parameter. Format codes referring to hours, minutes or seconds will see 0 values.
See more strftime() and strptime() function of time module. |
date.__format__(format) | Same as date.strftime(). |
Anleitungen Python
- Lookup Python-Dokumentation
- Verzweigung in Python
- Die Anleitung zu Python Function
- Klasse und Objekt in Python
- Vererbung und Polymorphismus in Python
- Die Anleitung zu Python Dictionary
- Die Anleitung zu Python Lists
- Die Anleitung zu Python Tuples
- Die Anleitung zu Python Date Time
- Stellen Sie mit PyMySQL eine Verbindung zur MySQL-Datenbank in Python her
- Die Anleitung zu Python Exception
- Die Anleitung zu Python String
- Einführung in Python
- Installieren Sie Python unter Windows
- Installieren Sie Python unter Ubuntu
- Installieren Sie PyDev für Eclipse
- Konventionen und Grammatik-Versionen in Python
- Die Anleitung zum Python für den Anfänger
- Schleifen in Python
Show More