【发布时间】:2018-07-04 01:17:35
【问题描述】:
我有一个string 变量some_time = "12:30",我想给它加上2 小时,所以结果是"14:30"。
我相信先把字符串变成时间格式,
temp_time = datetime.datetime.strptime(thetime, '%H:%M').time()
这样
>>>print (temp_time)
12:30:00
然后用Pytz就可以解决了。但我似乎找不到单独处理 hh:mm 的 Pytz 命令,没有 yy:dd:mm
有什么解决办法吗?
【问题讨论】:
-
你用过timedelta 看看是否有帮助吗?
-
我认为this 可能会回答你的问题
-
你为什么在这里谈论
pytz?您是在尝试向时间戳添加任意小时数,还是尝试做一些不同的事情,例如从 UTC 时间戳转换为某个特定时区的感知本地时间戳? -
无论如何,任何时区库都需要日期的原因很简单。为了从 UTC 转换为太平洋,您增加了多少小时?取决于它是否在夏令时。许多时区也在不同的历史日期(都在 tzdb 中)永久更改。即使您只想减去一个小时,如果距您所在时区的 DST 转换时间还有 30 分钟,例如,02:30 之前的一个小时是 00:30,该怎么办?如果您不希望
datetime处理任何这些复杂性,那么您并不真正想要一个真正的时区对象,您只需要一个偏移量。 -
...您可能还想要一个
datetime.time对象,而不是datetime.datetime(您可以调用temp_time.time()方法来获得)。