python - TypeError: 不支持的操作数类型 -: 'str' 和 'str' 传递两个日期时
问题描述
我正在尝试传递两个存储为字符串的日期值以查找日期范围内的天数
start = 2019-09-01
end = 2019-09-10
我试图将上述两个变量传递给下面的表达式并得到以下错误:
date = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days + 1)]
错误:
TypeError: unsupported operand type(s) for -: 'str' and 'str'
更新:
由于错误,不得不将日期列修改为字符串raised unexpected: ValueError('unconverted data remains: T00:00:00')
解决方案
该strptime()
方法从给定的字符串创建一个datetime
对象,该对象可用于将日期字符串转换为日期时间对象,然后,您可以将它们相减以获得它们之间的增量。
https://www.programiz.com/python-programming/datetime/strptime
from datetime import datetime
start = "2019-09-01"
end = "2019-09-10"
dateformat = "%Y-%m-%d"
d0 = datetime.strptime(start, dateformat)
d1 = datetime.strptime(end, dateformat)
delta = d1 - d0
print delta.days
推荐阅读
- pytorch - 如何从数据集中获取有关 FashionMNIST 的超参数?
- flutter - flutter:: 我可以在没有发音校正的情况下使用语音转文本 api 吗?
- azure - ADO - VStam -update 用户许可证命令不起作用
- swiftui - SwiftUI 中键盘快捷键的标题
- c# - 在 C# 中,Make 按钮在 5 秒后永远出现
- arrays - 无法将命令输出发送到数组
- ios - 如何从 xcode 中的框架访问 .mm 文件?
- python - Tricky Pandas 任务 - 根据 True/False 反向检查其他列
- xml - 在 Perl 中将 base64 中的文件包含到 XML 中
- python - 如何在 Python ElementTree 声明 xml 后删除换行符?