笔记:Python之系统的时间模块datetime

2019-11-17  本文已影响0人  南有妖尾

系统的时间模块datetime相关知识总结

datetime相关知识点总结表.png

2.2.1datetime.date()

datetime.date()是date对象,输出的类型<class 'datetime.date'>是一个特别的类,date类。

# 时间模块:datetime
# 导入时间模块
import datetime

# datetime.date(),date对象
t1=datetime.date.today()
print(t1,type(t1))
# datetime.date.today 返回当前日期:年-月-日
# 返回的<class 'datetime.date'>是一个特别的类,date类
t2=datetime.date(2018,8,8)
print(t2,type(t2))
# datetime.date(年,月,日) 返回输入的日期:年-月-

输出结果:

2019-11-06 <class 'datetime.date'>
2018-08-08 <class 'datetime.date'>

2.2.2datetime.datetime()

datetime.datetime()是datetime对象,输出的类型<class 'datetime.datetime'>是一个特别的类,datetime类。

# datetime.datetime(),datetime对象
now = datetime.datetime.now()
today = datetime.datetime.today()
print(today,type(today))
print(now,type(now))
print(str(now),type(str(now)))
# datetime.datetime.now(),返回当前时间:年-月-日 时:分:秒
# datetime.datetime也有.today()方法,与now()一样
# 输出格式为 datetime类,可通过str()转化为字符串

t1 = datetime.datetime(2017,10,12)
t2 = datetime.datetime(2018,10,12,4,35,23)
print(t1,'\n',t2)
# datetime.datetime(年,月,日,时,分,秒),返回输入的日期:年-月-日 时:分:秒
# datetime.datetime()括号内输入时间参数至少输入年月日
# datetime.datetime()之间相减,得到的类型是timedelta时间差
t3 = t2-t1
print(t3,type(t3))

输出结果:

2019-11-06 16:55:40.914093 <class 'datetime.datetime'>
2019-11-06 16:55:40.914092 <class 'datetime.datetime'>
2019-11-06 16:55:40.914092 <class 'str'>
2017-10-12 00:00:00 
 2018-10-12 04:35:23
365 days, 4:35:23 <class 'datetime.timedelta'>

2.2.3datetime.timedelta()

datetime.timedelta,时间差。主要用作时间的加减法,相当于可被识别的时间“差值”。

# datetime.timedelta
# 时间差主要用作时间的加减法,相当于可被识别的时间“差值”

t1 = datetime.date.today()
print(t1)
t2 = t1-datetime.timedelta(100)
print(t2,type(t2))
# t2表示当前日期减去100天之后的日期
# datetime.timedelta(100),表示100天的差值
t3 = t1+datetime.timedelta(7,3000)
print(t3)
# t3表示当前日期加上7天3000秒的差值后的日期

输出结果:

2019-11-06
2019-07-29 <class 'datetime.date'>
2019-11-13

2.2.4parser.parse:日期字符串转换

# parser.parse:日期字符串转换
from dateutil.parser import parse #导入parse

# 用parse(),将字符串日期转换为datetime.datetime
s = '2018-9-8'
t = parse(s)
print(t,type(t))

# parse(),能将各种格式的时间解析,但无法支持中文
print(parse('2019/7/9'))
print(parse('9/7/2017'))
print(parse('Jan 31, 1997 10:45 PM'))

输出结果:

2018-09-08 00:00:00 <class 'datetime.datetime'>
2019-07-09 00:00:00
2017-09-07 00:00:00
1997-01-31 22:45:00
上一篇下一篇

猜你喜欢

热点阅读