我无法理解如何在底部的代码中使用有关当前日期时间的信息。 我将当前日期时间计算为
import datetime
now = datetime.now()
reftime1 = datetime(now.year,now.month,now.day,now.hour) # only NaN values
与下面代码中的示例相比
reftime2 = datetime.datetime(2021,4,10,20) # no error
我要替换的代码(From string to datetime, looking at the current (local) time)是
import datetime
import dateparser
def timedelta2str(sec):
hours, remainder = divmod(sec, 3600)
return f'{int(hours):02}:{int(remainder//60):02}'
def formatTimeAgo(string, reftime):
dtobj = dateparser.parse(string, settings={'RELATIVE_BASE': reftime})
if isinstance(dtobj, datetime.datetime):
td = reftime - dtobj
if td >= datetime.timedelta(1):
return timedelta2str(td.total_seconds())
else:
return (reftime-td).strftime('%H:%M')
else:
return "N/A"
# exemplary input
t = ("10 hours", "6 hours", "2 days", "1 day")
reftime1 = datetime.datetime(2021,4,10,20) # here
for elem in t:
print(elem, '->', formatTimeAgo(elem, reftime1))
我需要一个关于我的替代品有什么问题的解释
要获取当前日期(我假设您正在尝试这样做),您可以使用:
实施:
但是,如果您确实希望使用您尝试使用的“now.hour”etc格式,那么您可以使用以下内容:
改变
到
将使您的第一个代码片段正常工作
相关问题 更多 >
编程相关推荐