Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in das Python-Modul zum Lernen von Datum und Uhrzeit

Einführung in das Python-Modul zum Lernen von Datum und Uhrzeit

高洛峰
高洛峰Original
2017-01-14 15:52:281042Durchsuche

Im Vergleich zum Zeitmodul ist die Schnittstelle des Datum/Uhrzeit-Moduls intuitiver und einfacher aufzurufen. Lassen Sie uns heute über das Datetime-Modul sprechen.

Das datetime-Modul definiert zwei Konstanten: datetime.MINYEAR und datetime.MAXYEAR, die jeweils das minimale und maximale Jahr darstellen, das datetime darstellen kann. Darunter ist MINYEAR = 1, MAXYEAR = 9999. (Für Gelegenheitsspieler ist dieser Bereich ausreichend~~)

Das datetime-Modul definiert die folgenden Klassen:

•datetime.date: eine Klasse, die das Datum darstellt. Zu den häufig verwendeten Attributen gehören Jahr, Monat und Tag.
•datetime.time: eine Klasse, die die Zeit darstellt. Zu den häufig verwendeten Attributen gehören Stunde, Minute, Sekunde, Mikrosekunde;
•datetime.datetime: stellt Datum und Uhrzeit dar.
•datetime.timedelta: stellt das Zeitintervall dar, also die Länge zwischen zwei Zeitpunkten.
•datetime.tzinfo: Verwandte Informationen zu Zeitzonen. (Diese Klasse wird hier nicht ausführlich besprochen. Interessierte Kinder können sich auf das Python-Handbuch beziehen.)
Hinweis: Die oben genannten Objekttypen sind alle unveränderlich.

Im Folgenden wird die Verwendung dieser Klassen im Detail beschrieben.

Datumsklasse
Datumsklasse stellt ein Datum dar. Das Datum besteht aus Jahr, Monat und Tag (jeder auf der Erde weiß es~~). Der Konstruktor der Datumsklasse lautet wie folgt:

Klasse datetime.date(Jahr, Monat, Tag): Die Bedeutung der Parameter wird nicht viel erklärt, aber es gibt einige Punkte, auf die man achten sollte:

• Der Bereich für das Jahr ist [MINYEAR, MAXYEAR], also [1, 9999]; der Bereich für
·Monat ist [1, 12]. (Der Monat beginnt bei 1, nicht bei 0~_~);
•Der maximale Wert des Tages wird anhand der angegebenen Jahres- und Monatsparameter bestimmt. Beispielsweise hat der Februar in einem Schaltjahr 29 Tage.
Die Datumsklasse definiert einige häufig verwendete Klassenmethoden und Klassenattribute, um unsere Operationen zu erleichtern:

•Datum.max, Datum.min: der Maximalwert dass das Datumsobjekt ein Mindestdatum darstellen kann;
•date.resolution: Das Datumsobjekt stellt die Mindestdatumseinheit dar. Das ist der Himmel.
•date.today(): Gibt ein Datumsobjekt zurück, das das aktuelle lokale Datum darstellt;
•date.fromtimestamp(timestamp): Gibt ein Datumsobjekt basierend auf dem angegebenen Zeitstempel zurück; Ordinalzahl): Konvertieren Sie die gregorianische Kalenderzeit in ein Datumsobjekt. (Gregorianischer Kalender: eine Kalenderdarstellungsmethode, ähnlich dem Mondkalender unseres Landes, der in westlichen Ländern häufiger verwendet wird und hier nicht im Detail besprochen wird.)

Verwendungsbeispiel:

from datetime import * 
import time 

print 'date.max:', date.max 
print 'date.min:', date.min 
print 'date.today():', date.today() 
print 'date.fromtimestamp():', date.fromtimestamp(time.time()) 

# # ---- 结果 ---- 
# date.max: 9999-12-31 
# date.min: 0001-01-01 
# date.today(): 2010-04-06 
# date.fromtimestamp(): 2010-04-06
Nach Datum bereitgestellte Instanzmethoden und -attribute:


•Datum.Jahr, Datum.Monat, Datum.Tag: Jahr, Monat, Tag
•Datum. Ersetzen (Jahr, Monat, Tag): Erstellt ein neues Datumsobjekt und ersetzt die Attribute im Originalobjekt durch das durch die Parameter angegebene Jahr, den Monat und den Tag. (Das ursprüngliche Objekt bleibt unverändert)
•date.timetuple(): Gibt das time.struct_time-Objekt zurück, das dem Datum entspricht;
•date.toordinal(): Gibt das gregorianische Kalenderdatum zurück, das dem Datum entspricht; >• date.weekday(): Gibt den Wochentag zurück, wenn es Montag ist, gibt 0 zurück, wenn es Montag ist, usw.
•data.isoweekday(): Gibt den Wochentag zurück, wenn es Montag ist 1; Wenn es der 2. der Woche ist, geben Sie 2 zurück und so weiter; isoformat(): Gibt ein Tupel mit einem Format wie „JJJJ-MM-TT“ zurück.
•date.strftime(fmt): Benutzerdefinierte Formatzeichenfolge. Erklären Sie es unten ausführlich.

Verwendungsbeispiel:


Datum überlädt auch bestimmte Operationen, wodurch wir die folgenden Operationen an Datumsangaben ausführen können:

·date2 = date1 + timedelta # Add an Intervall zum Datum und gibt ein neues Datumsobjekt zurück (timedelta wird unten eingeführt, um das Zeitintervall darzustellen)
now = date(2010, 04, 06) 
tomorrow = now.replace(day = 07) 
print 'now:', now, ', tomorrow:', tomorrow 
print 'timetuple():', now.timetuple() 
print 'weekday():', now.weekday() 
print 'isoweekday():', now.isoweekday() 
print 'isocalendar():', now.isocalendar() 
print 'isoformat():', now.isoformat() 

# # ---- 结果 ---- 
# now: 2010-04-06 , tomorrow: 2010-04-07 
# timetuple(): (2010, 4, 6, 0, 0, 0, 1, 96, -1) 
# weekday(): 1 
# isoweekday(): 2 
# isocalendar(): (2010, 14, 2) 
# isoformat(): 2010-04-06
•date2 = date1 - timedelta # Datum wird durch ein Intervall getrennt und gibt ein neues Datumsobjekt zurück

• timedelta = Datum1 - Datum2 # Subtrahieren Sie zwei Datumsangaben und geben Sie ein Zeitintervallobjekt zurück
•Datum1 f12e5166f1a822db4b32976b651f353c % 

例子: 

dt = datetime.now() 
print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f') 
print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p') 
print '%%a: %s ' % dt.strftime('%a') 
print '%%A: %s ' % dt.strftime('%A') 
print '%%b: %s ' % dt.strftime('%b') 
print '%%B: %s ' % dt.strftime('%B') 
print '日期时间%%c: %s ' % dt.strftime('%c') 
print '日期%%x:%s ' % dt.strftime('%x') 
print '时间%%X:%s ' % dt.strftime('%X') 
print '今天是这周的第%s天 ' % dt.strftime('%w') 
print '今天是今年的第%s天 ' % dt.strftime('%j') 
print '今周是今年的第%s周 ' % dt.strftime('%U') 

# # ---- 结果 ---- 
# (%Y-%m-%d %H:%M:%S %f): 2010-04-07 10:52:18 937000 
# (%Y-%m-%d %H:%M:%S %p): 10-04-07 10:52:18 AM 
# %a: Wed 
# %A: Wednesday 
# %b: Apr 
# %B: April 
# 日期时间%c: 04/07/10 10:52:18 
# 日期%x:04/07/10 
# 时间%X:10:52:18 
# 今天是这周的第3天 
# 今天是今年的第097天 
# 今周是今年的第14周

这些就是datetime模块的基本内容,总算写完了~~oh yeah~~

更多Python模块学习 datetime介绍相关文章请关注PHP中文网!

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