datetime简介
datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了各位使用的函数,datetime模块的接口更直观,更容易调用
datetime模块中的类
类名 | 用途 |
---|---|
datetime | 同时有时间和日期 |
timedelta | 主要用于计算时间的跨度 |
tzinfo | 时区相关 |
time | 只关注时间 |
date | 只关注日期 |
datetime类中的函数
1、datetime.now()函数
datetime.now()函数用于获取当前时间
datetime.now()函数的用法:
datetime.datetime.now()
第一个datetime为datetime模块,第二个datetime为datetime模块中的datetime类
type类型为datetime.datetime
import datetime
d1 = datetime.datetime.now()
print(d1)
运行结果为:
2020-01-27 19:22:32.745600
注:后面的.745600为毫秒,忽略不计吧
2、datetime()函数
datetime()函数用于获取指定时间
datetime()函数的用法:
datetime.datetime(x)
参数x - - 自己指定的七个参数的元组类型的时间段
type类型为datetime.datetime
import datetime
d1 = datetime.datetime(1999, 10, 5, 12, 30, 54, 123456)
print(d1)
运行结果为:
1999-10-05 12:30:54.123456
3、strftime()函数
strftime()函数用于将时间转为字符串
strftime()函数的用法:
datetime.datetime.now().strftime(x)
参数x - - 自己指定的格式化符号
datetime.datetime.now()是指当前时间
type类型为str
import datetime
d1 = datetime.datetime.now()
print(d1)
d2 = d1.strftime("%X")
print(d2)
运行结果为:
2020-01-28 17:08:34.932033
17:08:34
4、strptime()函数
strptime()函数用于将格式化字符串转化为datetime对象
strptime()函数的用法:
datetime.datetime.strptime(p,x)
参数p - - 需要进行转化的时间字符串
参数x - - 自己指定的格式化符号
注意:转化的格式要与字符串一致
type类型为datetime.datetime
import datetime
d1 = datetime.datetime.now()
print(d1)
d2 = d1.strftime("%X")
print(d2)
d3 = datetime.datetime.strptime(d2, "%X")
print(d3)
运行结果为:
2020-01-28 17:15:29.958495
17:15:29
1900-01-01 17:15:29
大家注意,这里笔者开始并没有转化年月日,只转化了小时分钟秒,所以转化完成后Python并不知道年月份,所以为最初的1900-01-01
5、间隔的天数
间隔的天数直接两个时间相减即可得到结果
import datetime
d1 = datetime.datetime.now()
d2 = datetime.datetime(2000, 10, 25, 12, 45, 45, 123456)
d3 = d1 - d2
print(d3)
print(d3.days)
print(type(d3))
运行结果为:
7034 days, 4:38:06.433209
7034
<class 'datetime.timedelta'>
6、间隔天数除外的秒数
笔者也不知道怎么介绍,直接上代码
import datetime
d1 = datetime.datetime.now()
d2 = datetime.datetime(2000, 10, 25, 12, 45, 45, 123456)
d3 = d1 - d2
print(d3)
print(d3.seconds)
print(type(d3))
运行结果为:
7034 days, 4:40:41.623565
16841
<class 'datetime.timedelta'>