我试图返回一个时间增量,但是当time_value太大时,它会溢出并给出一个错误。我可以使用检查来查看time_value是否太大,但我更喜欢处理错误并返回默认值的包装器。我已经包含了我现在正在做的事情的代码。有没有timedelta或datetime的版本可以帮我做到这一点?
def time_format(time_value):
try:
if time_value is None:
return 0
elif time_value > 0:
return (timedelta(seconds=-time_value))
except OverflowError:
return 0发布于 2016-07-22 05:51:18
您可以使用datetime.timedelta.min和datetime.timedelta.max。请注意,这两个不是关于0对称的。
那么你的代码就变成了
time_offset = 0
if timedelta.min.total_seconds() <= -time_value <= timedelta.max.total_seconds():
time_offset = timedelta(seconds=-time_value)https://stackoverflow.com/questions/38514856
复制相似问题