Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Verwendung und gängigen Methoden des Datetime-Moduls in Python

Zusammenfassung der Verwendung und gängigen Methoden des Datetime-Moduls in Python

不言
不言Original
2018-09-19 14:56:2320567Durchsuche

Dieser Artikel bietet Ihnen eine Zusammenfassung der Verwendung und der gängigen Methoden des Datetime-Moduls. Ich hoffe, dass er für Freunde hilfreich ist.

Das Datum/Uhrzeit-Modul kapselt das Zeitmodul neu, um mehr Schnittstellen bereitzustellen. Die bereitgestellten Klassen sind:

Datum, eine Klasse, die das Datum darstellt

Zeit, eine Klasse, die die Zeit darstellt

datetime, eine Klasse, die Datum und Uhrzeit darstellt

timedelta, stellt ein Zeitintervall dar, also das Intervall zwischen zwei Zeitpunkten

tzinfo, Informationen zu Zeitzonen

(Objekte dieser Klassen sind alle unveränderlich)

(Klassen haben Klassenmethoden, Klassenmethoden haben Methoden und Methoden erben Klassenmethoden)

1. Datumsklasse

datetime.date (Jahr, Monat, Tag)

Häufig verwendete Klassenmethoden und -attribute:

date.max
date.max 对象所能表示的最大日期(9999-12-31)
date.min 对象所能表示的最小日期(0001-01-01) 
date.today() 返回一个表示当前本地时间的date对象                                                                            
date.resolution date对象表示日期的最小单位(天)
date.fromtimestamp(timestamp) 根据给定的时间戳,返回一个date对象
Das maximale Datum, das das Objekt darstellen kann (31.12.9999)
date.min Gibt ein Datumsobjekt zurück, das die aktuelle Ortszeit darstellt                                    -family: "Microsoft YaHei"; font-size: 15px">date.resolution Das Datumsobjekt stellt die kleinste Datumseinheit (Tage) dar
date.fromtimestamp(timestamp) td> Gibt ein Datumsobjekt basierend auf dem angegebenen Zeitstempel zurück

实现:

类方法

import datetime
import time
print(datetime.date.max)
print(datetime.date.min)
print(datetime.date.today())
print(datetime.date.resolution)
print(datetime.date.fromtimestamp(time.time()+3600000))      # 给定时间戳的 日期

Ergebnis

9999-12-31
0001-01-01
2018-09-17
1 day, 0:00:00
2018-10-29

其中常用的方法与属性:

d.year
d.year
d.month
d.day
d.replace(year[,month[,day]]) 生成并返回一个新的日期对象,原日期对象不变                                                       
d.timetuple() 返回日期对应的时间元组(time.struct_time)对象
d.toordinal()
返回日期是自0001-01-01开始的第多少天
d.weekday() 返回日期是星期几,[0,6],0表示星期一,1表示星期二
d.isoweekday() 返回日期是星期几,[1,7],1表示星期一,2表示星期二
d.isocalendar() 返回格式为(year,weekday,isoweekday)的元组
d.isoformat() 返回‘YYYY-MM-DD’格式的日期字符串
d.strftime() 自定义格式化字符串(和time模块的strftime()方法相同)
d.month
d.day
d.replace(year[,month[,day]]) 生成并返回一个新的日期对象,原日期对象不变                                                    
d.timetuple() d.toordinal()
d.weekday() d.isoweekday() d.isocalendar() d.isoformat() d.strftime() 实现:

方法

print(datetime.date.year)              # <attribute &#39;year&#39; of &#39;datetime.date&#39; objects>
print(datetime.date.today().year)     # 本地时时间的年
print(datetime.date.fromtimestamp(time.time()+3600000).month)   # 给定时间戳的 月
print(datetime.date.today().day)  # 日

print(datetime.date.today().replace(year=2019))
print(datetime.date.today().timetuple())
print(datetime.date.today().toordinal())
print(datetime.date.today().weekday())
print(datetime.date.today().isoweekday())
print(datetime.date.today().isocalendar())
print(datetime.date.today().isoformat())
print(datetime.date.today().strftime(&#39;%Y-%m-%d-%a-%I&#39;))

result

<attribute &#39;year&#39; of &#39;datetime.date&#39; objects>
10
2019-09-17
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=260, tm_isdst=-1)
0
(2018, 38, 1)
2018-09-17
2018-09-17-Mon-12

result

2、time类

其中,time类和time模块各自独立

datetime.time(hour[,minute[,decond[,microsecond[,tzinfo]]]])

常用的类方法与属性:

time.max 表示的最大时间
time.min                  表示的最小时间
time.resolution 时间的最小单位,这里是1微秒                                                                         

常用的方法与属性:

t.hour
t.minute               
t.second
t.microsecond 微秒
t.tzinfo 时区信息
t.replace() 用参数指定替代(时,分,秒,微秒,时区)对象,生成并返回新的对象
t.isoformat() 返回'HH:MM:SS'格式字符串
t.strftime() 返回自定义格式化字符串

3. Datetime-Klasse

entspricht der Kombination von Datum und Uhrzeit

datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])

Häufig verwendete Klassenmethoden sind wie folgt Attribute:

tr>Integrieren Sie die angegebenen Datums- und Uhrzeitobjekte für Datetime-Objekte
datetime.max 最大日期
datetime.min 最小日期
datetime.resolution datetime对象所表示日期的最小单位,1微秒
datetime.today() 返回当前本地时间
datetime.now([tz]) 返回当前本地时间,如果指定tz,则返回tz时区当地时间
datetime.utcnow() 返回当前UTC时间
datetime.fromtimestamp(timestamp[,tz]) 根据给定的时间戳返回datetime对象,如果指定tz,则返回tz时区datetime对象
datetime.utcfromtimestamp(timestamp) 根据时间戳创建一个datetime对象
datetime.combine(date,time) 把指定的date和time对象整合为datetime对象
datetime.strftime(date_string,format) 将格式化字符串转换为datetime对象
datetime.max
Maximales Datum
datetime.min Mindestdatum
datetime.resolution Die kleinste Datumseinheit, die durch das Datetime-Objekt dargestellt wird, 1 Mikrosekunde
datetime.today() Gibt die aktuelle Ortszeit zurück
datetime.now ([tz ]) Gibt die aktuelle Ortszeit zurück. Wenn tz angegeben ist, wird die Ortszeit in der Zeitzone tz zurückgegeben
datetime.utcnow() Gibt die aktuelle UTC-Zeit zurück
datetime.fromtimestamp(timestamp[,tz]) Gibt das datetime-Objekt basierend auf dem angegebenen Zeitstempel zurück tz Zeitzone Datetime-Objekt wird zurückgegeben td>
datetime.utcfromtimestamp(timestamp) Erstellen Sie eine Datums- und Uhrzeitangabe basierend auf dem Zeitstempelobjekt
datetime.combine(date,time)
datetime.strftime(date_string ,format) Formatierte Zeichenfolge in Datetime-Objekt konvertieren

实现:

类方法

import datetime
import time
print(datetime.datetime.resolution)
print(datetime.datetime.today())
print(datetime.datetime.now())
print(datetime.datetime.utcnow())
print(datetime.datetime.fromtimestamp(time.time()))
print(datetime.datetime.utcfromtimestamp(time.time()))
print(datetime.datetime.combine(datetime.date(2019, 3, 5), datetime.time(3, 2, 45)))
print(datetime.datetime.strftime(datetime.date(2019,9,2),&#39;%Y-%m-%d %X&#39;))

result

0:00:00.000001
2018-09-17 20:32:36.868500
2018-09-17 20:32:36.868500
2018-09-17 12:32:36.868500
2018-09-17 20:32:36.868500
2018-09-17 12:32:36.868500
2019-03-05 03:02:45
2019-09-02 00:00:00

其中常用的方法与属性:

dt.year

dt.month

dt.day

dt.hour

dt.minute

dt.second

dt.Mikrosekunde Subtil
dt .tzinfo Zeitzoneninformationen
dt.date() Erhalten Sie das Datumsobjekt von dt
dt.time() Erhalten Sie das Zeitobjekt von dt, tzinfo ist keine
dt.timetz() Erhalten Sie das Zeitobjekt von dt, tzinfo ist dasselbe wie die tzinfo von datetime
dt.replace() Parameterersetzung angeben (Jahr, Monat, Tag, Stunde). , Minute, Sekunde, subtil, Zeitzone), ein neues Objekt generieren und zurückgeben
dt.timetuple() gibt die Zeit zurück, die dem Datums- und Uhrzeit-Tupel (time.struct_time) entspricht (ohne tzinfo)
dt.utctimetuple() UTC-Zeit zurückgeben Das entsprechende Zeittupel (ohne tzinfo)
dt.timestamp() gibt den entsprechenden dt-Objekt-Zeitstempel zurück
dt.toordinal() Das Rückgabedatum ist das erste seitdem 0001-01-01 Wie viele Tage (wie Datumsklasse)
dt.weekday() The Wochentag, das Rückgabedatum ist [ 1, 7], 1 bedeutet Montag (wie Datumsklasse)
dt.isocalendar() Gibt ein Zeittupel im Format (Jahr, Monat, Tag) zurück (wie Datumsklasse)
dt.isoformat () Gibt eine Zeichenfolge im Format „JJJJ-MM-TT HH:MM:SS“ zurück
dt.ctime() Entspricht time.ctime des Zeitmoduls (time.mktime(d.timetuple()))
dt.strftime () Gibt die Zeitzeichenfolge im angegebenen Format zurück

实现:

方法

import datetime,time
print(datetime.datetime.today().tzinfo)
print(datetime.datetime.today().date())
print(datetime.datetime.today().time())
print(datetime.datetime.today().timetz())
print(datetime.datetime.today().timetuple())
print(datetime.datetime.today().timestamp())
print(datetime.datetime.today().ctime())

result

None
2018-09-17
20:36:47.560500
20:36:47.560500
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=20, tm_min=36, tm_sec=47, tm_wday=0, tm_yday=260, tm_isdst=-1)
1537187807.5605
Mon Sep 17 20:36:47 2018

4、timedelta类

时间加减(代表了两个datetime之间的时间差)

datetime.timedalta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0 ,hours=0,weeks=0)

在日期上做天,小时,分钟,秒,毫秒,微秒,周 的时间计算

  • 1毫秒转换为1000微秒

  • 1分钟转换为60秒

  • 1小时转换为3600秒

  • 1周转换为7天

其中,timedelta内部只存储 days,seconds,microseconds

方法与属性:

td.days 天(范围[-999999999,999999999])
td.seconds 秒(范围[0,86399])                                                                                                   
td.microseconds 微秒(范围[0,999999])
td.total_seconds() 以秒为单位返回该时间差

实现:

方法

m = datetime.datetime.now()
print(m)
l = m + datetime.timedelta(3)
print(l)
n = m + datetime.timedelta(hours=4)
print(n)
span = l-m
print(span)
print(span.total_seconds())

result

2018-09-17 16:38:43.021000
2018-09-20 16:38:43.021000
2018-09-17 20:38:43.021000
3 days, 0:00:00
259200.0

5、tzinfo时区类

 其中,tzinfo是一个抽象类,所以不能直接被实例化

 时间转换需要用datetime和pytz来转换时区

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung und gängigen Methoden des Datetime-Moduls in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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