常見的日期格式操作總結
阿新 • • 發佈:2018-12-11
1. 字串轉換成日期格式:
from datetime import datetime
time_str = '2016-09-10 4:23:21'
time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S') # 根據字串本身的格式進行轉換
print(time) # 2016-09-10 04:23:21
time_str = time.strftime('%Y-%m-%d %H:%M:%S') # 時間轉字串
print(time_str) # 2016-09-10 04:23:21
2. 把字串格式日期轉換成date
格式(僅有日期沒有時間)
from datetime import datetime
time_str = '2018-09-24'
time = datetime.strptime(time_str, '%Y-%m-%d') # 根據字串本身的格式進行轉換
date = time.date() # 只獲取日期,不含時間
print(date)
3. 獲取一個日期的前幾天:
timedalte
是datetime
中的一個物件,該物件表示兩個時間的差值。具體引數:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
from datetime import datetime, timedelta
print(datetime.now() - timedelta(seconds=5*60)) # 當前時間前 5 分鐘
print(datetime.now() + timedelta(hours=20*24)) # 當前時間後 20 天
4. 把字串轉換成時間戳型別
import time
date = '2018-09-24'
time1 = time.mktime(time.strptime(date+' 09:00:00', '%Y-%m-%d %H:%M:%S'))
print(time1) # 1537750800.0
time2 = time.mktime(time.strptime(date+' 17:00:00','%Y-%m-%d %H:%M:%S'))
print(time2) # 1537779600.0
5. 獲取某一日是當前年的第幾天
import datetime
y = int(input()) # 年
m = int(input()) # 月
d = int(input()) # 日
targetDay = datetime.date(y, m, d) # 將輸入的日期格式化成標準的日期
dayCount = targetDay - datetime.date(targetDay.year - 1, 12, 31) # 減去上一年最後一天
print(dayCount.days)
宣告: 總結學習,有問題可以批評指正,大神可以略過哦