Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie die Python-Datetime-Bibliothek

So verwenden Sie die Python-Datetime-Bibliothek

WBOY
WBOYnach vorne
2023-05-27 12:11:161716Durchsuche

1. Übersicht über die Datetime-Bibliothek

Die Anzeige von Datum und Uhrzeit in verschiedenen Formaten ist die am häufigsten verwendete Funktion in Programmen. Python bietet eine Standardfunktionsbibliothek für die Zeitverarbeitung datetime, die eine Reihe von Zeitverarbeitungsmethoden von einfach bis komplex bereitstellt. Die

datetime-Bibliothek kann die Uhrzeit vom System abrufen und in einem vom Benutzer ausgewählten Format ausgeben. Die

datetime-Bibliothek basiert auf der Greenwich Mean Time, wobei jeder Tag durch 3600X24 Sekunden genau definiert ist. Die Bibliothek enthält zwei Konstanten: datetime.MINYEAR und datetime.MAXYEAR, die jeweils die minimalen und maximalen Jahre darstellen, die datetime darstellen kann. Die Werte sind 1 bzw. 9999.

datetime Die Bibliothek bietet eine Vielzahl von Datums- und Uhrzeitausdrücken in Form von Klassen.

(1) datetime.date: Datumsdarstellungsklasse, die Jahr, Monat, Tag usw. darstellen kann.
(2) datetime.time: Zeitdarstellungsklasse, die Stunden, Minuten, Sekunden, Millisekunden usw. darstellen kann.
(3) datetime.dateime: Eine Klasse, die Datum und Uhrzeit darstellt, mit Funktionen, die Datums- und Uhrzeitklassen abdecken.
(4) datetime.timedelta: Klassen im Zusammenhang mit Zeitintervallen.
(5) datetime.tzinfo: Informationsdarstellungsklasse in Bezug auf die Zeitzone.

Da die Klasse datetime.daetime die am häufigsten vorkommenden Ausdrucksformen aufweist, stellen wir hier hauptsächlich die Verwendung dieser Klasse vor. Die Verwendung der Klasse „datetime“ erfordert die Verwendung von reservierten Wörtern „import“. kann von Green ausgegeben werden. Die Zeitzählung vom Beginn des UTC-Jahres 1970 1 Monat 1 Tag

00:00:00

ist sekundengenau. Dies ist die frühe Entwurfsgewohnheit des

UNIX

-Betriebs System und wird von allen im Computersystem verwendet. Aktuelle Computerhardware und -systeme bestehen alle aus 64 Bits, um diese Zeitzählung zu speichern, kann die maximale Entfernung ab 1970 Jahr1Monat1 durch 264

Sekunden dargestellt werden

Tag, Die Gesamtzahl der Sekunden in 1 Jahr365 Tagen beträgt ungefähr 1,9x224, daher kann ein 64-Bit-Computersystem die Zeit bis ungefähr 239 n. Chr. darstellen, ich glaube unser N Generationen von Nachkommen, sogar bis zur Erde. Es besteht kein Grund zur Sorge über eine ungenaue Zeitangabe am Tag der Zerstörung. ——Warum ab 1970 Jahr1Monat1 beginnen? Analyse der Datetime-Bibliothek Die datetime-Klasse (

datetime.datetime

-Klasse, im Folgenden als datetime-Klasse bezeichnet) wird verwendet, indem zunächst ein datetime-Objekt erstellt und dann die Zeit über die Methoden und Eigenschaften des Objekts angezeigt wird . Es gibt drei Methoden zum Erstellen von datetime-Objekten:

datetime.now()

,

datetime.utcnow()

und datetime.datetime(). 1. Verwenden Sie datetime.now(), um das aktuelle Datums- und Uhrzeitobjekt abzurufen. Die Verwendungsmethode ist wie folgt:

from datetime import datetime
Funktion: Gibt einen datetime-Typ zurück, der das aktuelle Datum und die aktuelle Uhrzeit auf Mikrosekunden genau darstellt . Parameter: Keine. Rufen Sie diese Funktion auf. Das Ausführungsergebnis lautet wie folgt:
datetime.now()
2022-05-01 20:32:41.7720212. Verwenden Sie

datetime utcnow()

, um den UTC (Weltstandard) zu erhalten. Entsprechend dem aktuellen Datum und der aktuellen Uhrzeit (Time) ist die Verwendungsmethode wie folgt:

from datetime import datetime
today = datetime.now()
print(today)

Funktion: Gibt einen datetime-Typ zurück, der die

UTC
-Darstellung des aktuellen Datums und der aktuellen Uhrzeit mit einer Genauigkeit von Mikrosekunden darstellt. Parameter: Keine. Rufen Sie diese Funktion auf. Das Ausführungsergebnis lautet wie folgt:

datetime.utcnow ()

2022-05-01 12:35:40.849860

3.datetime.now() und

datetime utcnow()

geben beide a zurück datetime Typobjekt, Sie können datetime() auch direkt verwenden, um ein Datums- und Uhrzeitobjekt zu erstellen. Die Verwendungsmethode ist wie folgt:

from datetime import datetime
today = datetime.utcnow()
print(today)
Funktion: Gibt einen

datetime

-Typ zurück, der das angegebene Datum und die angegebene Uhrzeit darstellt. die auf Mikrosekunden genau sein kann.

Die Parameter lauten wie folgt: Jahr: Das angegebene Jahr, MINYEAR <= Jahr <=

MAXYEAR

Monat

: Der angegebene Monat,

1

<= Monat < ;= 12Tag: Das angegebene Datum,

1

<= Tag <= Die Obergrenze des Datums, das dem Monat entspricht Stunde: Die angegebene Stunde, 0 <=

Stunde

< 24Minute: die angegebene Anzahl von Minuten,

0

<= Minute < 60

second:指定的秒数,0 <= second < 60

microsecond:指定的微秒数,0 <= microsecond < 1000000

其中,hourminutesecondmicrosecond 参数可以全部或部分省略。

调用 datetime() 函数直接创建一个 datetime 对象,表示 20225120:33327 微妙,执行结果如下:

from datetime import datetime
someday = datetime(2022, 5, 1, 20, 43, 32, 7)
print(someday)

2022-05-01 20:43:32.000007

到此,程序已经有了一个 datetime 对象,进一步可以利用这个对象的属性显示时间,为了区别 datetime 库名,采用上例中的 someday 代替生成的 datetime 对象,常用属性如下表所示。

属性 描述
someday.min 固定返回 datetime 的最小时间对象,datetime(1,1,1,0,0)
someday.max 固定返回 datetime 的最大时间对象,datetime(9999,12,31,23,59,59,59,999999)
someday.year 返回 someday 包含的年份
someday.month 返回 someday 包含的月份
someday.day 返回 someday 包含的日期
someday.hour 返回 someday 包含的小时
someday.minute 返回 someday 包含的分钟
someday.second 返回 someday 包含的秒钟
someday.microsecond 返回 someday 包含的微妙值

datetime 对象有 3 个常用的时间格式化方法,如下表所示

属性 描述
someday.isoformat() 采用 ISO 8601 标准显示时间
someday.isoweekday() 根据日期计算星期后返回 1~7,对应星期一到星期日
someday.strftime(format) 根据格式化字符串 format 进行格式显示的方法

isoformat()isoweekday() 方法的使用如下:

from datetime import datetime
today = datetime.now()
print(today.isoformat())
print(today.isoweekday())

程序执行结果如下:

2022-05-01T21:00:28.392304
7

strftime() 方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。例如下面的例子,用该方法输出特定格式时间。

from datetime import datetime
today = datetime.now()
print(today.strftime("%Y-%m-%d %H : %M : %S"))

程序执行结果如下:

2022-05-01 21 : 04 : 23

下表是 strftime() 方法的格式化控制符。

格式化字符串 日期/时间 值范围和实例
%Y 年份 0001~9999
%m 月份 01~12
%B 月名 January~December
%b 月名缩写 Jan~Dec
%d 日期 01~31
%A 星期 Monday~Sunday
%a 星期缩写 Mon~Sun
%H 小时(24 h 制) 00~23
%M 分钟 00~59
%S 00~59
%x 日期 月/日/年,例如,01/01/2022
%X 时间 时 :分:秒,例如,19 : 09 : 31

strftime() 格式化字符串的数字左侧会自动补零,上述格式也可以与 print() 的格式化函数起使用,例如:

from datetime import datetime

now = datetime.now()

print(now.strftime("%Y- %m- %d"))

print(now.strftime("%A,%d. %B %Y %H: %M%p"))

print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now))

程序执行结果如下:

2022- 05- 01
Sunday,01. May 2022 21: 21PM
今天是 2022 年 05 月 01 日

datetime 库主要用于对时间的表示,从格式化角度掌握 strftime() 函数已经能够处理很多情况了。建议读者在遇到需要处理时间的问题时采用 datetime 库,简化格式输出和时间的维护。

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Python-Datetime-Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen