Inhaltsverzeichnis
struct_time wird in einen String konvertiert und der String wird in struct_time konvertiert
Messen der Laufzeit eines Programms
datetime
timedelta einen Zeitraum
将datetime转化为字符串形式及字符串转为datetime对象
Heim Backend-Entwicklung Python-Tutorial Detaillierte Einführung in die Zeit- und Datum/Uhrzeit-Module von Python

Detaillierte Einführung in die Zeit- und Datum/Uhrzeit-Module von Python

Jul 20, 2017 pm 03:33 PM
datetime python time

Es gibt drei Hauptformate für die Zeitdarstellung im Zeitmodul:

a. Zeitstempel, d. h. ab 00:00:00 Uhr am 1. Januar 1970. Offset berechnet in Sekunden

b. struct_time Zeittupel mit insgesamt neun Elementgruppen.

c. Zeit formatieren Zeit formatieren Die formatierte Struktur macht die Zeit besser lesbar. Beinhaltet benutzerdefinierte Formate und feste Formate.

Zeit

Die am häufigsten verwendeten Funktionen sind time.time() und time.sleep().

import timeprint(time.time())
Nach dem Login kopieren
1499305554.3239055
Nach dem Login kopieren

Die obige Gleitkommazahl wird als UNIX-Epochenzeitstempel bezeichnet. Dies ist die Anzahl der Sekunden, die seit 0:00 Uhr am 1. Januar vergangen sind. 1970 bis heute. Sie sehen, dass es am Ende 6 Dezimalstellen gibt. Mit der Funktion round können Sie Gleitkommazahlen runden. Wie folgt

# 默认四舍五入到整数位,即不保留小数print(round(time.time()))# 可指定参数保留的小数位数print(round(time.time(), 2))
Nach dem Login kopieren
1499305554
1499305554.49
Nach dem Login kopieren

time.sleep(sec) können Sie den aktuellen Schlafmodus festlegen und Sekunden (s) als Parameter eingeben.

print('good')
time.sleep(5.5)# 5.5秒后才打印这句print('yes')
Nach dem Login kopieren
good
yes
Nach dem Login kopieren

Einige andere Funktionen verwenden

# 返回UTC时间print(time.gmtime())# 返回本地时间,在中国就是UTC+8print(time.localtime())
Nach dem Login kopieren
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=6, tm_hour=1, tm_min=46, tm_sec=0, tm_wday=3, tm_yday=187, tm_isdst=0)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=6, tm_hour=9, tm_min=46, tm_sec=0, tm_wday=3, tm_yday=187, tm_isdst=0)
Nach dem Login kopieren

Sie können feststellen, dass dies ein Tupeltyp ist. Die Zeitzone, in der China liegt, ist UTC+8. Sie können feststellen, dass bis auf tm_hour (sie unterscheiden sich um genau +8) der Rest gleich ist.

Die folgende Funktion kann ein formatiertes Datum und eine formatierte Uhrzeit zurückgeben, was intuitiver aussieht.

print(time.ctime())print(time.asctime())# 由于使用默认参数和上面的结果一样print(time.ctime(time.time()))print(time.asctime(time.localtime()))
Nach dem Login kopieren
Thu Jul  6 09:46:15 2017
Thu Jul  6 09:46:15 2017
Thu Jul  6 09:46:15 2017
Thu Jul  6 09:46:15 2017
Nach dem Login kopieren
  • ctime() kann einen Zeitstempel übergeben. Wenn keine Parameter angegeben sind, wird der aktuelle Zeitstempel verwendet standardmäßig als Parameter. Das heißt, time.time()

  • gtime() kann eine struct_time übergeben. Wenn keine Parameter angegeben sind, wird standardmäßig die aktuelle Zeit verwendet. Das heißt, time.localtime()

struct_time wird in einen String konvertiert und der String wird in struct_time konvertiert

  • Der erste Parameter von strptime ist in Die Form eines String-Datums, der zweite Parameter ist ein benutzerdefiniertes Datumskonvertierungsformat. Die Formate dieser beiden Parameter müssen übereinstimmen. Wenn beispielsweise ein time.strptime('2017/7/6', '%Y-%m-%d') einen Schrägstrich und das andere einen Bindestrich verwendet, wird ein Fehler gemeldet. Diese Funktion gibt eine struct_time zurück.

  • Der erste Parameter von strftime ist das Datumsformat, in das Sie es konvertieren möchten, und der zweite Parameter ist eine struct_time. Diese Funktion konvertiert die struct_time in der Form ein Tupel in Das durch den ersten Parameter angegebene Format gibt das konvertierte Datumszeichenfolgenformat zurück.

%Y-%m-%d stellt das Jahr, den Monat und den Tag dar, die im Datetime-Modul ausführlich vorgestellt werden.

a = time.strptime('2017/7/6', '%Y/%m/%d')
b = time.strftime('%Y-%m-%d', time.localtime())print(a)print(b)
Nach dem Login kopieren
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=187, tm_isdst=-1)
2017-07-06
Nach dem Login kopieren

Messen der Laufzeit eines Programms

Mithilfe von Zeitstempeln kann die Laufzeit eines Programms bequem gemessen werden

start_time = time.time()sum = 0for i in range(10000000):sum += 1end_time = time.time()print(end_time - start_time)
Nach dem Login kopieren
2.185124397277832
Nach dem Login kopieren

Sie können sehen, dass die Schleifenberechnung und -addition 10 Millionen Mal ausgeführt wurde und das Programm mehr als 2 Sekunden dauerte.

Sie können auch die time.clock()-Funktion

start = time.clock()print(start)  # 2.6773594453225194e-06time.sleep(2)
end = time.clock()print(end - start)  # 差值代表了睡眠2秒的时间。2.000246763295544time.sleep(3)print(time.clock())  # 5.00058991153112,返回的是从第一次调用到这次调用的时间间隔
Nach dem Login kopieren
4.4622657422041984e-07
2.0026006084745567
5.013243112269714
Nach dem Login kopieren

verwenden. Sie können sehen, dass clock beim ersten Aufruf seltsam ist, Es wird die Zeit zurückgegeben, in der der Prozess ausgeführt wird . Alle nachfolgenden Aufrufe unterscheiden sich vom Wert des ersten Aufrufs clock. Das heißt, die Zeit, die vom ersten Anruf bis zum aktuellen Anruf verstrichen ist clock.
Setzen Sie wie oben den Start über den Teil des Codes, den Sie testen möchten, und legen Sie das Ende am Ende fest. Sie können die Laufzeit des Fragmentcodes auch durch Subtrahieren ermitteln, was genauer ist als time.time() .

datetime

datetime模块 wird zur Verwaltung von Datum und Uhrzeit verwendet und besteht aus drei Untermodulen. Sie sind time、date、datetime. Wenn Sie also datetime verwenden möchten, können Sie die folgende Importmethode verwenden.

from datetime import datetime# 返回当前时间now = datetime.now()print(now.year, now.month, now.microsecond)# 可以自定义参数,返回格式化后的时间dt = datetime(2017, 10, 1, 23, 59, 59, 456123)print(dt)
Nach dem Login kopieren
2017 7 719609
2017-10-01 23:59:59.456123
Nach dem Login kopieren

datetime akzeptiert 7 Parameter, entsprechend Jahr, Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunde. Wird jeweils im year、month、day、hour、minute、second、microsecond-Attribut von datetime gespeichert.

Der Zeitstempel kann in den Typ „Datum/Uhrzeit“ konvertiert werden. Verwenden Sie wie folgt den Zeitstempel der aktuellen Zeit. Effektiv äquivalent zu datetime.now(). Natürlich ist es auch möglich, den Zeitstempel von datetime zu erhalten.

# 时间戳转datetimenow = datetime.fromtimestamp(time.time())print(now)
sometime = datetime(2017, 7, 5, 23, 59, 59)# datetime转时间戳print(sometime.timestamp())
Nach dem Login kopieren
2017-07-06 09:46:07.903769
1499270399.0
Nach dem Login kopieren

Diese Datetime-Objekte können das ><=-Symbol verwenden, um die Reihenfolge zweier Datumsangaben zu vergleichen. Um die Differenz zwischen zwei Momenten auszudrücken, können auch Subtraktionsoperationen durchgeführt werden. Beispielsweise bedeutet

dt1 = datetime(2017, 5, 31)
dt2 = datetime(2017, 4, 1)print(dt1 - dt2)print(dt1 > dt2)
Nach dem Login kopieren
60 days, 0:00:00
True
Nach dem Login kopieren

timedelta einen Zeitraum

Beachten Sie, dass es sich nicht um einen Moment, sondern um einen Zeitraum handelt.

import datetime

delta = datetime.timedelta(weeks=2, days=7, hours=1, seconds=59,microseconds=234353)
delta1 = datetime.timedelta(days=5, hours=2)print(delta.seconds)  # 返回属性hours和seconds的和print(delta.total_seconds()) # 只是以秒来表示这段时间print(delta > delta1)print(delta + delta1)
Nach dem Login kopieren
3659
1818059.234353
True
26 days, 3:00:59.234353
Nach dem Login kopieren

timedelta的接受的参数有weeks、days、hours、minutes、seconds、microseconds,但是其属性却只有days、seconds、microseconds。并且除了像datetime一样支持大小比较、减法运算外,还可以进行加法运算,表示两个时间段的差值

将datetime转化为字符串形式及字符串转为datetime对象

time模块也有这两个函数(见上面的例子),使用上比较累类似。

  • strptime按照指定格式将字符串形式的日期转换成datetime对象并返回。

  • strftime将一个datetime对象(比如now)根据指定的格式转换成字符串并返回。

from datetime import datetime

a = datetime.strptime(&#39;2017/7/6&#39;, &#39;%Y/%m/%d&#39;)
b = datetime.now().strftime(&#39;%Y-%m-%d&#39;)print(a)print(b)
Nach dem Login kopieren
2017-07-06 00:00:00
2017-07-06
Nach dem Login kopieren

关于日期时间的格式,看下表。

格式指令 含义
%Y 带世纪的四位年份,如2017
%y 后两位年份,如17表示2017
%m 月份,从01到12
%B 完整的月份,如November
%b 月份的简写,如Nov
%d 一个月中的第几天,如从01到31(如果有的话)
%j 一年中的第几天
%w 一周中的第几天
%A 完整的周几,如Monday
%a 简写的周几,如Mon
%H 24小时制的小时00-23
%h 12小时制的小时01-12
%M 分,00-59
%S 秒,00-59
%p AM或者PM

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Zeit- und Datum/Uhrzeit-Module von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

See all articles