【python】日期和时间处理

字符串和日期的相互转换
from datetime import datetime
today = "2020-10-20"

# 字符串转换为datetime
today = datetime.strptime(today, '%Y-%m-%d')

# datetime转换为字符串
today = datetime.strftime(today, '%Y-%m-%d')

获取距离今天一个月前和一个月后的日期:
import datetime
today = datetime.date.today()
month_ago = today - datetime.timedelta(days=1)
month_later = today + datetime.timedelta(days=1)

这里的today month_ago month_later都是datetime类型的数据,如果需要计算字符串的数据可以这么操作:

today = "2020-10-20"
# 将字符串的日期类型转换为datetime类型的数据
today = datetime.datetime.strptime(today, '%Y-%m-%d')
# 此时的month_ago还是datetime类型的数据
month_ago = today - datetime.timedelta(days=30)
# 将datetime类型的month_ago数据转换为字符串类型
month_ago = month_ago.strftime('%Y-%m-%d')
# 将today转为字符串类型
today = today.strftime('%Y-%m-%d')


获得两个日期的差值

我们一般获得的日期都是字符串的形式。一般需要将该字符串转换为datetime.datetime的数据格式,然后两个datetime.datetime格式的日期相减可以得到它们的差值。

如果是分别得到两个日期的年、月、日可以使用如下代码处理:

import datetime
d1 = datetime.datetime(2019,10,1)   # 第一个日期
d2 = datetime.datetime(2019,10,3)   # 第二个日期
interval = d2 - d1                  
print(interval.days)   # 输出两个日期的天数差
print(interval.seconds)  # 输出两个时间的秒数差值

如果是处理两个日期字符串的时间差值可以使用如下代码处理:

start_time = datetime.datetime.strptime('2019-12-01 08:00:00', '%Y-%m-%d %H:%M:%S')
end_time = datetime.datetime.strptime('2020-03-01 08:00:00', '%Y-%m-%d %H:%M:%S')
time_interval1 = end_time-start_time  # time_interval1的数据类型是datetime.timedelta
time_interval2 = (end_time-start_time).days  # time_interval2是int型
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值