【发布时间】:2020-01-24 22:56:24
【问题描述】:
有没有办法确定python datetime 对象在创建对象时是否包含时间属性?特别是,我想知道是否提供了分钟、秒或微秒。
例如:
from datetime import datetime
d = datetime(2020,1,24)
# datetime.datetime(2020, 1, 24, 0, 0)
d.microsecond
# 0
# ideally, if function "has_seconds()" did exist...
if not d.has_seconds():
d = d.replace(second=59)
我正在处理一个接收日期时间对象的函数,我需要填写最初未提供的任何信息。但是,对于最初未提供的所有时间属性,datetime 假定值为 0。不幸的是,0 对小时、分钟、秒和微秒有效,所以我不能用它来检查。
我使用的是 Python 3.7,以防万一。
【问题讨论】:
-
我怀疑此信息是否可用。如果您担心填写缺失的信息,您应该首先自己创建对象,而不是接受预制对象。
-
我看不到这里的逻辑:如果你有办法正确填写时间信息,你也有信息来检查对象是否包含正确的信息。在任何情况下,所有相关字段的原始输入都恰好是
0的可能性非常低,也许您可以抓住机会。
标签: python python-3.x datetime