#datetime是date与time的结合体,包括date与time的所有信息。datetime的功能强大,支持0001年到9999年。
#datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR。这两个常量分别表示datetime所能表示的最小、最大年份。其中,MINYEAR=1,MAXYEAR=9999。
#datetime模块定义了以下5个类。
①、datetime.date:表示日期的类。常用的属性有year、month、day。
②、datetime.time:表示时间的类。常用的属性有hour、minute、second、mincrosecoend。
③、datetime.datetime:表示日期时间。
④、datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
⑤、datetime.tzinfo:与时区有关的相关信息。
#其中,datetime.datetime类的应用最为普遍。下面对该类进行一些详细的讲解。
#datetime.datetime类中有以下方法:
1、today()
#today()方法的语法如下:
datetime.datetime.today()
#此语法中datetime.datetime指的是datetime.datetime类。
#返回一个表示当前本地时间的datetime对象。
#该方法使用示例如下:
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #today() 4 5 import datetime 6 7 print('Today is:',datetime.datetime.today())
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python today().py 2 Today is: 2017-12-28 21:24:09.742196
2、now([tz])
#now()方法的语法如下:
datetime.datetime.now([tz])
#此语法中datetime.datetime指的是datetime.datetime类,如果提供了参数tz,就获取tz参数所指时区的本地时间。
#返回一个datetime对象。
#该方法使用示例如下:
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #now([tz]) 4 5 import datetime 6 7 print('Now is:',datetime.datetime.now())
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python now([tz]).py 2 Now is: 2017-12-28 21:30:17.234190
3、datetime.utcnow()
#utcnow()方法的语法如下:
datetime.datetime.utcnow()
#此语法中datetime.datetime指的是datetime.datetime类。
#该方法示例如下:
1 #!/usr/bin/python 2 #-*-coding:UTF-8-*- 3 #utcnow() 4 5 import datetime 6 7 print('utcnow is:',datetime.datetime.utcnow())
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python utcnow().py 2 utcnow is: 2017-12-28 13:34:24.483318
4、fromtimestamp(timestamp[,tz])
#根据时间戳创建一个datetime对象。
#fromtimestamp()方法的语法如下:
datetime.datetime.fromtimestamp(timestamp[,tz])
#此语法中datetime.datetime指的是datetime.datetime类,参数tz指定时区信息。
#返回一个datetime对象。
#该方法使用示例如下:
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #fromtimestamp(timestamp[,tz]) 4 5 import datetime 6 import time 7 8 print('fromtimestamp is:',datetime.datetime.fromtimestamp(time.time()))
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python fromtimestamp(fromtimestamp[,tz]).py 2 fromtimestamp is: 2017-12-28 21:45:30.286280
5、utcfromtimestamp(timestamp])
#根据时间戳创建一个datetie对象。
#utcfromtime()方法的语法如下:
datetime.datetime.utcfromtimestamp(timestamp)
#此语法中datetie.datetime指的是datetime.datetie类,timestamp指时间戳。
#返回一个datetime对象。
#该方法使用示例如下:
1 #!/usr/bon/python3 2 #-*-coding:UTF-8-*- 3 #utcfromtimestamp(timestamp) 4 5 import datetime 6 import time 7 8 print('utcfromtimestamp is:',datetime.datetime.utcfromtimestamp(time.time()))
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python utcfromtimestamp(timestamp).py 2 utcfromtimestamp is: 2017-12-28 13:59:16.509327
6、strptime(date_string,format)
#将格式字符串转换为datetime对象。
#strptime()方法的语法如下:
datetime.datetime.strptime(date_string,format)
#此语法中datetime.datetime指的是datetime.datetime类,date_string指的是日期字符串,format为格式化方式。
#返回一个datetime对象。
#该方法使用示例如下:
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #strptime(date_string,format) 4 5 import datetime 6 7 dt=datetime.datetime.now() 8 print('strptime is:',dt.strptime(str(dt),'%Y-%m-%d %H:%M:%S.%f'))
#执行结果如下:
1 D:Pythonworkspacedatatime20171228>python strptime(date_string,format).py 2 strptime is: 2017-12-28 22:09:23.502600
7、strftime(format)
#将格式字符串转换为datetime对象。
#strftime()方法的语法如下:
datetime.datetime.strftime(format)
#此语法中datetime.datetime指的是datetime.datetime类,format为格式化方式。
#返回一个datetime对象。
#该方法使用实例如下:
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #strftime(format) 4 5 import datetime 6 7 dt=datetime.datetime.now() 8 print('strftime is:',dt.strftime('%Y-%m-%d %H:%M:%S'))
#执行结果如下:
1 D:Pythonworkspace>python strftime(format).py 2 strftime is: 2017-12-29 10:37:46
#下面看一个使用时间格式化符号操作datetime.datetime类的示例。
1 #!/usr/bin/python3 2 #-*-coding:UTF-8-*- 3 #strftime(format) 4 5 import datetime 6 7 dt=datetime.datetime.now() 8 print('当前时间:',dt) 9 print('(%Y-%m-%d %H:%M:%S %f):',dt.strftime('%Y-%m-%d %H:%M:%S %f')) 10 print('(%Y-%m-%d %H:%M:%S %p):',dt.strftime('%y-%m-%d %I:%M:%S %p')) 11 print('%%a:%s'%dt.strftime('%a')) 12 print('%%A:%s'%dt.strftime('%A')) 13 print('%%b:%s'%dt.strftime('%b')) 14 print('%%B:%s'%dt.strftime('%B')) 15 print('日期时间%%c:%s'%dt.strftime('%c')) 16 print('日期%%x:%s'%dt.strftime('%x')) 17 print('时间%%X:%s'%dt.strftime('%X')) 18 print('今天是这周的第%s天'%dt.strftime('%w')) 19 print('今天是今年的第%s天'%dt.strftime('%j')) 20 print('这周是今年的第%s周'%dt.strftime('%U'))
#执行结果如下:
1 D:Pythonworkspace>python strftime(format).py 2 当前时间: 2017-12-29 11:08:12.461895 3 (%Y-%m-%d %H:%M:%S %f): 2017-12-29 11:08:12 461895 4 (%Y-%m-%d %H:%M:%S %p): 17-12-29 11:08:12 AM 5 %a:Fri 6 %A:Friday 7 %b:Dec 8 %B:December 9 日期时间%c:Fri Dec 29 11:08:12 2017 10 日期%x:12/29/17 11 时间%X:11:08:12 12 今天是这周的第5天 13 今天是今年的第363天 14 这周是今年的第52周