Đó là một ràng buộc phức tạp để giải thích. Từ Django 1.4 ,
cái này đề cập đến TIME_ZONE
. Vậy USE_TZ
của bạn là gì ? Nếu USE_TZ
của bạn là True thì Django sẽ lưu trữ datetime theo UTC và sử dụng TIME_ZONE
để hiển thị trong các mẫu và diễn giải các biểu mẫu.
Điều này là do, nếu bạn thay đổi TIME_ZONE
của mình sau này khi lưu trữ trang web của bạn ở một lãnh thổ khác, thật dễ dàng chuyển đổi bất kỳ ngày giờ nào từ UTC sang bất kỳ múi giờ nào đã cho.
Trong Django 1.3 và trước đó,
Nhưng không cho bạn biết ngày giờ sẽ được lưu trữ trong cơ sở dữ liệu ở múi giờ nào. Dù sao thì cũng cần phải thử nghiệm (tôi đoán là UTC).
print datetime.datetime.now()
in dữ liệu theo thiết lập múi giờ của máy chủ của bạn trừ khi bạn đã mở bảng điều khiển python qua manage.py shell
.
Tương tự với bảng điều khiển MySQL. Nó hiển thị ngày giờ trong múi giờ máy của bạn thay vì những gì được lưu trữ trong cơ sở dữ liệu nếu tôi đúng.