Python 自动生成日期(斜杠格式),不自动补零,解决 ‘#‘ is a bad directive in format ‘%Y/%#m/%#d‘报错

一、问题描述

我希望生成如“1980/8/21"、“1980/8/22"、“1980/8/23"...格式的日期列表,即”斜杠“隔开年月日;同时个位数时不自动补零,如变为“1980/08/21"格式。

二、错误试探

尝试 datatime包,代码如下:

import datetime

def create_assist_date(datestart,dateend):

	# 转为日期格式
	datestart=datetime.datetime.strptime(datestart,'%Y/%#m/%#d')
	dateend=datetime.datetime.strptime(dateend,'%Y/%#m/%#d')
	date_list = []
	date_list.append(datestart.strftime('%Y/%#m/%#d'))
	while datestart<dateend:
		# 日期叠加一天
	    datestart+=datetime.timedelta(days=+1)
	    # 日期转字符串存入列表
	    date_list.append(datestart.strftime('%Y/%#m/%#d'))
	print(date_list)


if __name__ == '__main__':
	create_assist_date(datestart = "2018/06/20",dateend = "2018/06/28")

#来源https://blog.csdn.net/joson1234567890/article/details/80946974

接着会报错:

 '#' is a bad directive in format '%Y/%#m/%#d'

显然,用于取消自动补零的”#“格式不正确。

三、问题解决

使用pandas包,很简洁,上代码:

import pandas as pd

start_date = "20200704"#开始日期时间
end_date = "20200710"#结束日期时间

pd.date_range(start_date, end_date).strftime("%Y/%#m/%#d").tolist()

#运行结果:
#['2020/7/4',
# '2020/7/5',
# '2020/7/6',
# '2020/7/7',
# '2020/7/8',
# '2020/7/9',
# '2020/7/10']

#参考https://blog.csdn.net/m0_37586991/article/details/111052639

完美!bang~

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值