1、time和datetime模块的区别
1.1 time
在 Python 文档里,time
是归类在Generic Operating System Services
中,换句话说, 它提供的功能是更加接近于操作系统层面的。通读文档可知,time 模块是围绕着 Unix Timestamp 进行的。
1.2 datetime
datetime 比 time 高级了不少,可以理解为 datetime 基于 time 进行了封装,提供了更多实用的函数。
object
timedelta # 主要用于计算时间跨度
tzinfo # 时区相关
time # 只关注时间
date # 只关注日期
datetime # 同时有时间和日期
名称比较绕口,在实际实用中,用得比较多的是 datetime.datetime 和 datetime.timedelta ,另外两个 datetime.date 和 datetime.time 实际使用和 datetime.datetime 并无太大差别。 下面主要讲讲 datetime.datetime 的使用。使用datetime.datetime.now()
可以获得当前时刻的datetime.datetime 实例。 对于一个 datetime.datetime 实例,主要会有以下属性及常用方法,看名称就能理解,应该没有太大问题:
d=datetime.datetime.now()
d.year
d.month
d.day
d.hour
d.minute
d.second
d.microsecond
d.tzinfo
d.date() # 返回 date 对象
d.time() # 返回 time 对象
d.replace(name=value) # 前面所述各项属性是 read-only 的,需要此方法才可更改
d.timetuple() # 返回time.struct_time 对象
dattime.strftime(format) # 按照 format 进行格式化输出
...
2、使用datetime
2.1 工作中常用的获取时间的方法
1. d=datetime.datetime.now() 返回当前的datetime日期类型
d.timestamp(),d.today(), d.year,d.timetuple()等方法可以调用
2. 把一个时间戳转为datetime日期类型
datetime.date.fromtimestamp(322222)
3. 时间运算
>>> datetime.datetime.now()
datetime.datetime(2017, 10, 1, 12, 53, 11, 821218)
>>> datetime.datetime.now() + datetime.timedelta(4) #当前时间 +4天
datetime.datetime(2017, 10, 5, 12, 53, 35, 276589)
>>> datetime.datetime.now() + datetime.timedelta(hours=4) #当前时间+4小时
datetime.datetime(2017, 10, 1, 16, 53, 42, 876275)
4.时间替换
>>> d.replace(year=2999,month=11,day=30)
datetime.date(2999, 11, 30)
5.使用strftime改变时间对象输出格式
# 格式化当前日期
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
'2020-12-23 18:40:24'
3、使用time
3.1 获取当前的时间戳
# 取得当前时间戳
import time
print(time.time())