以(小时)为单位输入时区(偏移到)GMT,并显示指定时区的时间

时间:2015-08-06 02:41:48

标签: python time offset gmt

offset = eval(input("Enter the time zone offset to GMT: "))

currentTime = time.time()
totalSeconds = int(currentTime)
currentSecond = totalSeconds % 60
totalMinutes = totalSeconds // 60
currentMinute = totalMinutes % 60
totalHours = totalMinutes // 60
currentHour = (totalHours % 24)
print("Current time is", currentHour,":", currentMinute,":"currentSecond,"GMT")

任务: 修改程序,以便提示用户在距离(偏移到)GMT几小时内输入时区,并在指定时区显示时间。

如您所见,我已经提示用户输入偏移量,但我无法确定下一步该做什么。我试过减去和添加偏移量,但最终会得到不可能的答案,如28:00:......或-6:00:......

我是新手,所以如果您使用任何高级(非初学者)术语和操作,请简要说明。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用datetime模块,并在此处应用其中一个答案:

https://stackoverflow.com/a/26293497/296549

https://stackoverflow.com/a/2175170/296549

提示用户输入时区名称,并根据该输入从当地时间转换。

否则,您的代码的重访版本将是:

import time

offset = input("Enter the time zone offset to GMT: ")

currentTime = time.time()
totalSeconds = int(currentTime)
currentSecond = totalSeconds % 60
totalMinutes = totalSeconds // 60
currentMinute = totalMinutes % 60
totalHours = totalMinutes // 60
currentHour = (totalHours % 24) 
print("Current time is: " +  str((currentHour + offset) % 24) + ":" +  str(currentMinute) + ":" + str(currentSecond) + "GMT") 

在添加偏移量后,使用模运算符保持在24个单位范围内。

注意:这不会根据偏移检查新的时区!

要静态地执行此操作,您可以使用一些if条件。我亲自前往datetime模块。