问题:"猿类" 们都知道, 编程中都会涉及到日期, 时间类型与字符串类型的转换. 不同场景, 需要将字符串格式转换为日期类型; 也需要将日期类型转换为字符串格式.
目标: 学习和积累 python 中 time 和 datetime
相关知识:
一, time 引用包 time
import time
1, 获取 CTS 格式: 星期 月 日 时分秒 年
time.ctime()
结果: Wed May 16 15:12:57 2018
2, 字符转换为 tuple(time obj)
- date_string = "2016-11-30 13:53:59"
- print(time.strptime(date_string, "%Y-%m-%d %H:%M:%S"))
结果: time.struct_time(tm_year=2016, tm_mon=11, tm_mday=30, tm_hour=13, tm_min=53, tm_sec=59, tm_wday=2, tm_yday=335, tm_isdst=-1)
3, 获取时间戳格式: 自 1970 年 1 月 1 日 (00:00:00 GMT) 以来的秒数
time.time()
结果: 1526455106.7462714
4,time 转换为字符
- time_tuple = (2016, 11, 30, 13, 51, 18, 2, 317, 0)
- time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
结果: 2016-11-30 13:51:18
5,time 转换为时间戳
- time_tuple = (2016, 11, 30, 13, 51, 18, 2, 317, 0)
- time.mktime(time_tuple)
6, 时间戳转换为时间 time
- timestamp = 1480486369.75
- time.localtime(timestamp)
二, datetime 引用包 datetime
import datetime
1,datetime.now() 获取当前系统时间
datetime.datetime.now()
结果: 2018-05-16 15:33:45.748534
2, 字符转换为 time
- date_string = "2016-11-30 13:53:59"
- datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
结果: datetime.datetime(2016, 11, 30, 13, 53, 59)
3,datetime 转换字符
- dt_obj = datetime.datetime(2016, 11, 30, 13, 53, 59)
- dt_obj.strftime("%Y-%m-%d %H:%M:%S")
结果: 2016-11-30 13:53:59
4,datetime 转换为 tuple(time obj)
- dt_obj = datetime.datetime(2016, 11, 30, 13, 53, 59)
- dt_obj.timetuple()
结果: time.struct_time(tm_year=2016, tm_mon=11, tm_mday=30, tm_hour=13, tm_min=53, tm_sec=59, tm_wday=2, tm_yday=335, tm_isdst=-1)
5, 时间戳转换 datetime 对象
- timestamp = 1480486369.75
- datetime.datetime.fromtimestamp(timestamp)
结果: datetime.datetime(2016, 11, 30, 14, 12, 49, 750000)
参考地址: http://www.runoob.com/python/python-date-time.html
来源: http://www.bubuko.com/infodetail-2603579.html