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)
声明: 总结学习,有问题可以批评指正,大神可以略过哦