常见的日期格式操作总结 - Python

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. 获取一个日期的前几天:

timedaltedatetime中的一个对象,该对象表示两个时间的差值。具体参数:

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)

声明: 总结学习,有问题可以批评指正,大神可以略过哦

猜你喜欢

转载自blog.csdn.net/XX_123_1_RJ/article/details/82827900