python - 在 Python 中以日期格式删除时间
问题描述
我使用:
s = "20200113"
final = datetime.datetime.strptime(s, '%Y%m%d')
我需要转换日期格式的数字(2020-01-13),但是当我打印最终结果时:
2020-01-13 00:00:00
试过 datetime.date(s, '%Y%m%d') 但它返回一个错误:
an integer is required (got type str)
有什么命令可以只获取没有时间的日期吗?
解决方案
使用datetime.date(year, month, day)
. 对字符串进行切片并转换为整数以获取年、月和日。现在它是一个datetime.date
对象,您可以将它用于其他事情。但是,在这里,我们使用.strftime
将其转换回您所需格式的文本。
s = "20200113"
year = int(s[:4]) # 2020
month = int(s[4:6]) # 1
day = int(s[6:8]) # 13
>>> datetime.date(year, month, day).strftime('%Y-%m-%d')
'2020-01-13'
您也可以直接通过字符串进行转换。
>>> f'{s[:4]}-{s[4:6]}-{s[6:8]}'
'2020-01-13'
推荐阅读
- c# - 如何在 .NET Core 中获取 Docker 版本
- kubernetes - 在应用程序和加载顺序中加载多个配置映射
- javascript - Vue:导出功能共享逻辑,模板说它没有导入
- python - np.lexsort 在升序和降序之间切换
- javascript - 使用 javascript 在原始页面上堆叠新元素
- azure - Azure 数据探索标记和存储
- python - 如何在 Kivy 中跨多个屏幕更新 Id 值
- google-chrome - Headless Chrome - chrome-headless-render-pdf 我想在页眉和页脚部分添加图像
- java - TestNG 错误:java.lang.NoSuchMethodError
- pyspark - WriteStream 无法在 Delta 表中写入数据