首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么datetime对象有时返回日期,有时返回日期和时间?

为什么datetime对象有时返回日期,有时返回日期和时间?
EN

Stack Overflow用户
提问于 2020-09-04 03:25:16
回答 2查看 248关注 0票数 0

我有个连线问题。

代码语言:javascript
运行
复制
from datetime import datetime, timedelta
start_date = '2019-05-01'
end_date = '2020-04-30'

start_date = datetime.strptime(start_date, "%Y-%m-%d")
print(start_date)

new_start_date = (datetime.strptime(end_date, '%Y-%m-%d') - timedelta(days=360)).strftime('%Y-%m-%d')
print(new_start_date)

回报是

代码语言:javascript
运行
复制
2019-05-01 00:00:00
2019-05-06

看起来,第一个"start_date“包含日期和时间,第二个"new_start_date”只包含日期。为什么?我怎样才能改变让第一个"start_date“只返回日期,没有时间?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-04 03:30:08

strptime返回一个datetime对象。文档

类方法datetime.strptime(date_string,format) 返回与date_string对应的日期时间,按格式解析。

其中,strftime返回由格式化字符串指定的字符串。文档

Date.strftime(格式) 返回由显式格式字符串控制的表示日期的字符串。引用小时、分钟或秒的格式代码将看到0值。有关格式化指令的完整列表,请参见strftime()和strptime()行为。

在你的例子中;

代码语言:javascript
运行
复制
datetime.strptime(start_date, "%Y-%m-%d") #2019-05-01 00:00:00

然而,如果您要使用strftime来格式化这一点,它将继续删除时间;

代码语言:javascript
运行
复制
datetime.strptime(start_date, "%Y-%m-%d").strftime('%Y-%m-%d')) #2019-05-01
票数 1
EN

Stack Overflow用户

发布于 2020-09-04 03:30:01

new_start_date不是date,它是string。您可以删除strftime以获取datetime对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63734382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档