[Python] Python中日期和时间的用法超强总结

2308 0
黑夜隐士 2022-11-9 15:44:22 | 显示全部楼层 |阅读模式
目录

    Python 中处理日期和时间的模块
      time 模块使用time模块查找日期和时间
    datetime 模块
      使用 datetime 查找日期和时间



Python 中处理日期和时间的模块

Python 提供了time和datetime模块,可以帮助我们轻松获取和修改日期和时间,下面让我们来逐一了解一下。

time 模块

该模块包括使用时间执行各种操作所需的所有与时间相关的功能,它还允许我们访问多种用途所需的时钟类型。
内置函数:
请看下表,它描述了时间模块的一些重要内置功能。
functionDescription
time()返回自epoch以来经过的秒数
ctime()以经过的秒数作为参数,返回当前日期和时间
sleep()在给定持续时间内停止线程的执行
time.struct_time Class函数要么将此类作为参数,要么将其作为输出返回
localtime()以自epoch以来经过的秒数作为参数,并以时间形式返回日期和时间。struct_time格式
gmtime()与localtime()类似,返回时间。UTC格式的struct_time
mktime()ocaltime()的倒数。获取包含9个参数的元组,并返回自epoch pas输出以来经过的秒数
asctime()获取包含9个参数的元组,并返回表示相同参数的字符串
strftime()获取包含9个参数的元组,并根据使用的格式代码返回表示相同参数的字符串
strptime()分析字符串并及时返回。struct_time格式
代码格式化:
在用示例解释每个函数之前,先看一下所有合法的格式化代码的方式:
CodeDescriptionExample
%aWeekday (short version)Mon
%AWeekday (full version)Monday
%bMonth (short version)Aug
%BMonth (full version)August
%cLocal date and time versionTue Aug 23 1:31:40 2019
%dDepicts the day of the month (01-31)07
%fMicroseconds000000-999999
%HHour (00-23)15
%IHour (00-11)3
%jDay of the year235
%mMonth Number (01-12)07
%MMinutes (00-59)44
%pAM / PMAM
%SSeconds (00-59)23
%UWeek number of the year starting from Sunday (00-53)12
%wWeekday number of the weekMonday (1)
%WWeek number of the year starting from Monday (00-53)34
%xLocal date06/07/22
%XLocal time12:30:45
%yYear (short version)22
%YYear (full version)2022
%zUTC offset+0100
%ZTimezoneCST
%%% Character%
struct_time 类具有以下属性:
AttributeValue
tm_year0000, .., 2019, …, 9999
tm_mon1-12
tm_mday1-31
tm_hour0-23
tm_min0-59
tm_sec0-61
tm_wday0-6  (Monday is 0)
tm_yday1-366
tm_isdst0, 1, -1    (daylight savings time, -1 when unknown)
现在让我们看几个 time 模块的例子

使用time模块查找日期和时间

使用上表中描述的内置函数和格式化代码,可以在 Python 中轻松获取日期和时间。
importtime
#time
a=time.time()#totalsecondssinceepoch
print("Secondssinceepoch:",a,end='n----------n')
#ctime
print("Currentdateandtime:")
print(time.ctime(a),end='n----------n')
#sleep
time.sleep(1)#executionwillbedelayedbyonesecond
#localtime
print("Localtime:")
print(time.localtime(a),end='n----------n')
#gmtime
print("LocaltimeinUTCformat:")
print(time.gmtime(a),end='n-----------n')
#mktime
b=(2019,8,6,10,40,34,1,218,0)
print("CurrentTimeinseconds:")
print(time.mktime(b),end='n----------n')
#asctime
print("CurrentTimeinlocalformat:")
print(time.asctime(b),end='n----------n')
#strftime
c=time.localtime()#getstruct_time
d=time.strftime("%m/%d/%Y,%H:%M:%S",c)
print("Stringrepresentingdateandtime:")
print(d,end='n----------n')
#strptime
print("time.strptimeparsesstringandreturnsitinstruct_timeformat:n")
e="06AUGUST,2019"
f=time.strptime(e,"%d%B,%Y")
print(f)
Output:
Seconds since epoch : 1565070251.7134922
———-
Current date and time:
Tue Aug 6 11:14:11 2019
———-
Local time :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=11, tm_min=14, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———-
Local time in UTC format :
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=5, tm_min=44, tm_sec=11, tm_wday=1, tm_yday=218, tm_isdst=0)
———–
Current Time in seconds :
1565068234.0
———-
Current Time in local format :
Tue Aug 6 10:40:34 2019
———-
String representing date and time:
08/06/2019, 11:14:12
———-
time.strptime parses string and returns it in struct_time format :

time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=218, tm_isdst=-1)

datetime 模块

与time模块类似,datetime模块包含处理日期和时间所必需的所有方法。
内置功能:
下表介绍了本模块中的一些重要功能:
functionDescription
datetime()datetime 的构造函数
datetime.today()返回当前本地日期和时间
datetime.now()返回当前本地日期和时间
date()以年、月、日为参数,创建相应的日期
time()以小时、分钟、秒、微秒和tzinfo作为参数,并创建相应的日期
date.fromtimestamp()转换秒数以返回相应的日期和时间
timedelta()它是不同日期或时间之间的差异(持续时间)

使用 datetime 查找日期和时间

现在,让我们尝试实现这些函数,以使用datetime模块在 Python 中查找日期和时间。
importdatetime
#datetimeconstructor
print("Datetimeconstructor:n")
print(datetime.datetime(2019,5,3,8,45,30,234),end='n----------n')

#today
print("Thecurrentdateandtimeusingtoday:n")
print(datetime.datetime.today(),end='n----------n')

#now
print("Thecurrentdateandtimeusingtoday:n")
print(datetime.datetime.now(),end='n----------n')

#date
print("Settingdate:n")
print(datetime.date(2019,11,7),end='n----------n')

#time
print("Settingtime:n")
print(datetime.time(6,30,23),end='n----------n')

#date.fromtimestamp
print("Convertingsecondstodateandtime:n")
print(datetime.date.fromtimestamp(23456789),end='n----------n')

#timedelta
b1=datetime.timedelta(days=30,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=4,weeks=8)
b2=datetime.timedelta(days=3,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=4,weeks=8)
b3=b2-b1
print(type(b3))
print("Theresultantduration=",b3,end='n----------n')

#attributes
a=datetime.datetime.now()#1
print(a)
print("Theyearis:",a.year)

print("Hours:",a.hour)
Output:
Datetime constructor:

2019-05-03 08:45:30.000234
———-
The current date and time using today :

2019-08-06 13:09:56.651691
———-
The current date and time using today :

2019-08-06 13:09:56.651691
———-
Setting date :

2019-11-07
———-
Setting time :

06:30:23
———-
Converting seconds to date and time:
1970-09-29
———-
<class ‘datetime.timedelta’>
The resultant duration = -27 days, 0:00:00
———-
2019-08-06 13:09:56.653694
The year is : 2019
Hours : 13
到此这篇关于Python中日期和时间的用法超强总结的文章就介绍到这了,更多相关Python日期 时间用法内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持中国红客联盟!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行