python 日期、時間、字符串相互轉換
在python中,日期類型date和日期時間類型dateTime是不能比較的。
(1)如果要比較,可以將dateTime轉換為date,date不能直接轉換為dateTime
import datetime
dateTime_p = datetime.datetime.now()
date_p = dateTime_p.date()
print(dateTime_p) #2019-01-30 15:17:46.573139
print(date_p) #2019-01-30
(2)日期類型date轉換為字符串str
#!/usr/bin/env python3
import datetime
date_p = datetime.datetime.now().date()
str_p = str(date_p)
print(date_p,type(date_p)) #2019-01-30 <class 'datetime.date'>
print(str_p,type(str_p)) #2019-01-30 <class 'str'>
(3)字符串類型str轉換為dateTime類型
import datetime
str_p = '2019-01-30 15:29:08'
dateTime_p = datetime.datetime.strptime(str_p,'%Y-%m-%d %H:%M:%S')
print(dateTime_p) # 2019-01-30 15:29:08
(4)dateTime類型轉為str類型
這個地方我也不太理解,為什么指定格式無效
import datetime
dateTime_p = datetime.datetime.now()
str_p = datetime.datetime.strftime(dateTime_p,'%Y-%m-%d')
print(dateTime_p) # 2019-01-30 15:36:19.415157
(5)字符串類型str轉換為date類型
#!/usr/bin/env python3
import datetime
str_p = '2019-01-30'
date_p = datetime.datetime.strptime(str_p,'%Y-%m-%d').date()
print(date_p,type(date_p)) # 2019-01-30 <class 'datetime.date'>
另外dateTime類型和date類型可以直接做加1減1這種操作
#!/usr/bin/env python3
import datetime
# today = datetime.datetime.today()
today = datetime.datetime.today().date()
yestoday = today + datetime.timedelta(days=-1)
tomorrow = today + datetime.timedelta(days=1)
print(today) # 2019-01-30
print(yestoday)# 2019-01-29
print(tomorrow)# 2019-01-31