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:......
我是新手,所以如果您使用任何高级(非初学者)术语和操作,请简要说明。
感谢。
答案 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模块。