To skomplikowane wiązanie do wyjaśnienia. Od Django 1.4 ,
to odnosi się do TIME_ZONE
. Więc jaki jest twój USE_TZ
? Jeśli Twój USE_TZ
jest True, to Django będzie przechowywać datetime w UTC i używać TIME_ZONE
do wyświetlania w szablonach i interpretacji formularzy.
Dzieje się tak, ponieważ jeśli zmienisz swoją TIME_ZONE
później, gdy hostujesz swoją witrynę na innym terytorium, łatwo jest przekonwertować dowolne daty z UTC na dowolne podane strefy czasowe.
W Django 1.3 i wcześniej,
Ale nie mówi, w jakiej strefie czasowej data i godzina będą przechowywane w bazie danych. I tak muszę poeksperymentować (przypuszczam, że to UTC).
print datetime.datetime.now()
drukuje czas danych zgodnie z ustawieniami strefy czasowej serwera, chyba że otworzyłeś konsolę Pythona za pomocą manage.py shell
.
To samo dotyczy konsoli MySQL. Pokazuje datę i godzinę w strefie czasowej twojego komputera, a nie to, co jest przechowywane w bazie danych, jeśli mam rację.