问题描述
|
我已经为此进行了一段时间的尝试,但尚未看到答案。本质上,我需要在脚本中添加一个取决于GMT偏移量的条件。 GMT偏移量需要在脚本运行时位于世界上任何地方的上午7点。
换句话说,如果是纽约的早上7点,我需要编写一个将返回\'-4 \'的python脚本。
有任何想法吗?
更新:
像这样的脚本大多数时候都可以工作:
7 - time.gmtime().tm_hour
但是在格林尼治标准时间(GMT)晚上11点(23)时,返回值为-15,并且没有-15的GMT偏移量(仅转到-12)。
解决方法
def OfsToHour(targetHour = 7):
import datetime
t = datetime.datetime.utcnow() #or your favored UTC call
return (((targetHour - t.hour) + 12) % 24) - 12
, 如果是纽约的07:00,那么就是格林尼治标准时间11:00。 7-11 = -4。
如果是在洛杉矶的07:00,那么就是格林尼治标准时间14:00。 7-14 = -7。
因此,以格林尼治标准时间为准,将其四舍五入为您选择的小时数,然后减去7。
[更新]
嗯,对,这里没有-15 ...但这全是mod24。所以取7-time.gmtime().tm_hour
,如果它小于-12,则加24以得到正确的答案。
[抱歉,但我实际上并不了解Python :-)]