Jak upewnić się, że datetime.date.today()
jest konwertowany na czas UTC?Jak przekonwertować datetime.date.today() na czas UTC?
To jest mój kod do tej pory:
#today : 2014-12-21
today = datetime.date.today()
#1900-01-01 16:00:00+00:00
timeformat = datetime.datetime.strptime('16:00', '%H:%M').replace(tzinfo=pytz.utc)
#combine today and timeformat 2014-12-21 16:00:00
now = datetime.datetime.combine(u, timeformat.time())
str_now = now.strftime("%Y-%m-%d %H:%M:%S")
To nie jest poprawne, chyba że północ w czasie lokalnym ('date.today()') jest tą samą instancją czasu co północ w UTC ('.utcnow(). Date()'). Zobacz [Jak uzyskać czas UTC "północy" dla danej strefy czasowej?] (Http://stackoverflow.com/questions/373370/how-do-i-get-the-utc-time-of-midnight- for-a-given-timezone) – jfs
Co to ma wspólnego z północą? Właśnie dostaje datę, w której jest teraz UTC. – webjunkie
@webjunkie: spójrz na tytuł pytania, zauważ: 'date.today()' tam. Zwraca datę w strefie czasowej * lokalnej *. Ta wartość zmienia się o północy w strefie czasowej * lokalnej *. Na '23: 59: 59' jest jeden dzień,' 00: 00: 00' to jest kolejny. Obserwujesz? W tym momencie: '00: 00' w lokalnej strefie czasowej odpowiada * innym * czasem UTC w zależności od lokalnej strefy czasowej np.' 2016-02-27 00: 00' w Nowym Jorku odpowiada '2016-02-27 05:00 'UTC. Jeśli tytuł pytania brzmiał: "jaka jest teraz aktualna data w UTC"; Zgodzę się z tobą. – jfs