Tôi chưa bao giờ phải chuyển đổi thời gian đến và từ UTC. Gần đây có một yêu cầu để ứng dụng của tôi được biết múi giờ và tôi đã tự chạy theo vòng tròn. Rất nhiều thông tin về việc chuyển đổi giờ địa phương sang UTC, điều mà tôi thấy khá sơ đẳng (có thể tôi cũng đang làm sai), nhưng tôi không thể tìm thấy bất kỳ thông tin nào về việc dễ dàng chuyển đổi thời gian UTC sang múi giờ của người dùng cuối.
Tóm lại, và ứng dụng Android sẽ gửi cho tôi dữ liệu (ứng dụng appengine) và trong dữ liệu đó là dấu thời gian. Để lưu trữ dấu thời gian đó đến thời gian utc tôi đang sử dụng:
datetime.utcfromtimestamp(timestamp)
Điều đó dường như đang làm việc. Khi ứng dụng của tôi lưu trữ dữ liệu, nó sẽ được lưu trữ trước 5 giờ (Tôi là EST -5)
Dữ liệu đang được lưu trữ trên BigTable của appengine và khi được truy xuất, nó xuất hiện dưới dạng một chuỗi như vậy:
"2011-01-21 02:37:21"
Làm cách nào để chuyển đổi chuỗi này thành DateTime trong múi giờ chính xác của người dùng?
Ngoài ra, lưu trữ được đề xuất cho thông tin múi giờ của người dùng là gì? (Làm thế nào để bạn thường lưu trữ thông tin tz, ví dụ: "-5: 00" hoặc "EST", v.v.?) Tôi chắc chắn câu trả lời cho câu hỏi đầu tiên của tôi có thể chứa tham số câu trả lời thứ hai.