from tkinter import * import datetime import pytz def main(): root = Tk() root.title("Digital Clock") root.geometry("400x150") drawArea = Canvas(root, bg="silver") drawArea.pack(side=TOP, expand=True, fill=BOTH) tzMoscow = pytz.timezone("Europe/Moscow") tzDushanbe = pytz.timezone("Asia/Dushanbe") def drawTime(): # dt = datetime.datetime.now() dtMoscow = datetime.datetime.now(tz = tzMoscow) txt = "Moscow: {0:02d}:{1:02d}:{2:02d}".format( dtMoscow.hour, dtMoscow.minute, dtMoscow.second ) txt += "\n" dtDushanbe = datetime.datetime.now(tz = tzDushanbe) txt += "Dushanbe: {0:02d}:{1:02d}:{2:02d}".format( dtDushanbe.hour, dtDushanbe.minute, dtDushanbe.second ) drawArea.delete("all") w = drawArea.winfo_width() h = drawArea.winfo_height() drawArea.create_text( w/2, h/2, text=txt, font=("Times", 24), anchor=CENTER # 0, 0, text=txt, font=("Times", 24), anchor=NW ) drawArea.bind("", lambda e: drawTime()) def animate(): drawTime() drawArea.after(1000, animate) # root.update() drawArea.after(100, animate) root.mainloop() if __name__ == "__main__": main()