You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除datetime函数中的时间部分,仅保留yyyy-mm-dd格式日期?

解决Python中datetime打印仅显示日期(yyyy-mm-dd)的问题

嘿,我来帮你搞定这个小问题~

你现在遇到的情况是:用datetime.strptime()把字符串解析成datetime对象后,直接打印会带时分秒(比如2024-05-20 00:00:00),但你只想看到yyyy-mm-dd格式的日期。这是因为strptime()生成的是完整的datetime对象,默认包含时分秒(没指定的话就用00:00:00填充),所以打印时会显示全部信息。

给你两种简单的解决方法:

方法1:用strftime()格式化输出

如果你需要保留datetime对象(后续可能还要做时间计算之类的操作),可以用strftime()方法把它转成你想要的字符串格式:

from datetime import datetime

Begindatestring = "2024-05-20"
Begindate = datetime.strptime(Begindatestring, "%Y-%m-%d")
# 格式化输出为yyyy-mm-dd格式
print(Begindate.strftime("%Y-%m-%d"))

运行后就会直接输出:2024-05-20

方法2:转成date对象

如果你只需要日期信息,不需要时间部分,可以直接把datetime对象转成date对象——date类型本身只存储年月日,打印时自然不会显示时间:

from datetime import datetime

Begindatestring = "2024-05-20"
# 直接解析后转成date对象
Begindate = datetime.strptime(Begindatestring, "%Y-%m-%d").date()
print(Begindate)

运行后同样会输出:2024-05-20

两种方法都能达到你要的效果,选哪种看你后续的需求就好~

内容的提问来源于stack exchange,提问作者Anushka Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 03:22:48