此文多涉及基础,如果想要深入理解则到文末,有提供链接
涉及对象
1. datetime
2. timestamp
3. time tuple
4. string
5. date
- datetime基本操作
1. 获得当前datetime (类型:datetime.datetime)
2. 获取时间戳timestamp
3. 获取time tuple
4. 获取date
- 获得当天日期
- 获得任意一天日期
5. 把日期转换为string
6. 获取当天开始和结束时间(00:00:00 23:59:59)
7. 获取两个datetime的时间差(秒)
8. 获取当天处在本周的第几天(1从周日开始),所处月份,所处年
- 关系转换
几个关系之间的转化
Datetime Object / String / timestamp / time tuple
1. datetime <=> string
datetime -> string
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
string -> datetime
datetime.datetime.strptime("2018-01-06 12:50:10", "%Y-%m-%d %H:%M:%S")
2. datetime <=> date
datetime -> date
datetime.datetime.now().date()
date -> datetime
datetime.datetime.combine(datetime.date.today(), datetime.time())
3. datetime <=> timestamp
datetime -> timestamp
time.mktime(datetime.datetime.now().timetuple())
timestamp -> datetime
datetime.datetime.fromtimestamp(1515215145.982)
4. datetime <=> timetuple
datetime -> timetuple
datetime.datetime.now().timetuple()
timetuple -> datetime
timetuple => timestamp => datetime
总结:原则, 以datetime为中心, 起点或中转, 转化为目标对象, 涵盖了大多数业务场景中需要的日期转换处理:
1. 掌握几种对象及其关系
2. 了解每类对象的基本操作方法
3. 通过转化关系转化
想要深入理解:
- python时间模块-time和datetime ( 博客园 "君醉" )
- python+pandas+时间、日期以及时间序列处理 ( CSDN "LY_ysys629" )