Przechowuję wszystkie moje czasy w UTC i mój system jest ustawiony na UTC (chociaż jestem w EST).Określa czas rozpoczęcia i zakończenia bieżącego dnia (UTC -> EST -> UTC); Python
mam termin zapisane jako:
Wed, 20 Feb 2013 03:51:39 +0000
Jednak chciałbym, aby wybrać informacje oparte off dzisiaj do EST, więc jestem próby:
Pobiera aktualny czas jako UTC i zmieni się EST
datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York')) 2013-02-19 23:17:20.560898-05:00
Dalej chcę uzyskać czas rozpoczęcia dnia EST (2013 -02-19 00: 00: 00.000000-05: 00) i czas zakończenia (2013-02-19 23: 59: 59.99999-05: 00)
Gdy już mam te wartości, chciałbym Konwersja z powrotem na UTC, więc mam wysoką i niską wartość, którą mogę zablokować, ponieważ jest to poprawna moja EST (moja strefa czasowa).
Jeśli nie jest to najlepszy sposób, aby to zrobić, albo ja czegoś brakuje (wydaje się zbyt skomplikowane do mnie) proszę mi pomóc ujrzeć światło!
TIA
Aktualizacja za odpowiedź:
d1 = datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
print d1.strftime("%m %d %Y") ; d2 = d1.replace(day=d1.day + 1) ; print d2.strftime("%m %d %Y")
To da mi
02 20 2013
02 21 2013
Która jest poprawna. Teraz muszę wygenerować pełny czas EST, a następnie przejść na UTC. Tego nie mogę rozgryźć. Właściwie, prawdopodobnie chcę przekonwertować na sygnaturę czasową UTC epoki, gdy będzie to kompletne, ponieważ spowoduje to, że operacje na mojej bazie danych będą dość łatwe (<,>, ==, itp.).
Nie rozumiem, co próbujesz teraz zrobić. Myślałem, że chcesz czas EST w tym przypadku 02/20/2013 00:00 UTC. Cały twój kod w tej chwili działa w bardzo złożony sposób, a otrzymasz dzisiejszą datę (i jutro) ... –
(W EST, rozruch, nie UTC) –
Nie zamieniaj dnia. To załamie się pod koniec każdego miesiąca. Użyj timedelta, jak na moją odpowiedź. Przestań też próbować robić wszystko w jednym wierszu. Nie powinieneś używać "większości" z mojej odpowiedzi, powinieneś używać jej * all *, tak jak jest. Powyższy kod jest bardzo trudny do odczytania. I wreszcie, czy nie używasz * czasu *?Drukujesz tylko daty. Jeśli nie chcesz czasu, większość z nich jest całkowicie bezsensowna. Daty nie mają stref czasowych, na początek. –