問題:“猿類”們都知道,編程中都會涉及到日期、時間類型與字符串類型的轉換。不同場景,需要將字符串格式轉換為日期類型;也需要將日期類型轉換為字符串格式。
目標: 學習和積累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
