问题:“猿类”们都知道,编程中都会涉及到日期、时间类型与字符串类型的转换。不同场景,需要将字符串格式转换为日期类型;也需要将日期类型转换为字符串格式。
目标: 学习和积累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