Đây là câu hỏi Python nhiều hơn GAE, trừ khi GAE có một số cơ sở hạ tầng để tạo điều kiện này (tôi đã thực hiện quét nhanh nhưng không tìm thấy bất kỳ tham chiếu nào). Về cơ bản, bạn muốn lưu trữ ngày/giờ theo múi giờ UTC (ví dụ: sử dụng datetime.datetime.utcnow) cùng với múi giờ của người dùng, bạn có thể thử trích xuất từ IP người dùng (sử dụng GeoDjango, nếu có trên GAE hoặc pygeoip; bạn cần một số geolocation db như: http://www.maxmind.com/app/geolitecity) hoặc yêu cầu người dùng về nó - điều này có lợi thế là bạn có thể yêu cầu một tên múi giờ mô tả, như "Europe/Warsaw". Nếu bạn yêu cầu chỉ UTC + 2, sau đó bạn mất bất kỳ dấu hiệu của DST thay đổi.
Sau đó, bạn có thể chuyển từ utc sang múi giờ mong muốn bằng cách sử dụng ví dụ: pytz:
import pytz
local_tz = pytz.timezone(timezone_name)
return timestamp_utc.replace(tzinfo=pytz.utc).astimezone(local_tz).replace(tzinfo=None)
- nơi timestamp_utc
là datetime utc mà bạn muốn chuyển đổi, và TIMEZONE_NAME là đề cập đến "Châu Âu/Warsaw".
(Lưu ý rằng tôi không biết cái nào của những tác phẩm này trong GAE, nhưng ít nhất bạn sẽ biết những gì để tìm kiếm)
Nguồn
2010-11-07 11:23:20
thể trùng lặp : http://stackoverflow.com/questions/4065157/django-time-issues/4065236#4065236 – mouad
chỉ cần tìm ra những gì chấp nhận là ... cảm ơn – speedplane