在Python中增加日期字符串YYYY-MM-DD的最快方法是什么?

afs*_*hin 5 python datetime python-3.x pandas

在Pandas中,我使用字符串格式YYYY-MM-DD 的日期以YYYY-MM-DD格式结果增加日期的最快方法是什么?

d1 = '2018-02-10'
Run Code Online (Sandbox Code Playgroud)

我想将它递增1并将结果作为字符串返回:

d1_inc = '2018-02-11'
Run Code Online (Sandbox Code Playgroud)

jpp*_*jpp 8

纯Python

您可以使用datetime模块,标准库的一部分.有3个步骤:

  1. datetime通过将字符串转换为对象strptime.
  2. 通过添加一天timedelta.
  3. 将结果datetime对象转换回字符串via strftime.

这是一个演示:

from datetime import datetime, timedelta

x = '2017-05-15'
res = (datetime.strptime(x, '%Y-%m-%d') + timedelta(days=1)).strftime('%Y-%m-%d')

print(res)    
# 2017-05-16
Run Code Online (Sandbox Code Playgroud)

熊猫

可以使用第三方Pandas执行等效步骤:

x = '2017-05-15'

# choose some combination of below methods
res = (pd.Timestamp(x) + pd.DateOffset(days=1)).strftime('%Y-%m-%d')
res = (pd.to_datetime(x) + pd.Timedelta('1 day')).strftime('%Y-%m-%d')

print(res)
# 2017-05-16
Run Code Online (Sandbox Code Playgroud)