ฉันไม่เคยต้องแปลงเวลาเป็นและจาก UTC เมื่อเร็ว ๆ นี้มีคำขอให้แอปของฉันตระหนักถึงเขตเวลาและฉันใช้ตัวเองเป็นวงกลม ข้อมูลจำนวนมากเกี่ยวกับการแปลงเวลาท้องถิ่นเป็น UTC ซึ่งฉันพบว่าค่อนข้างธรรมดา (บางทีฉันก็ทำผิดเช่นกัน) แต่ฉันไม่สามารถหาข้อมูลใด ๆ ในการแปลงเวลา UTC เป็นเขตเวลาของผู้ใช้ปลายทางได้อย่างง่ายดาย
โดยสรุปแล้วแอพสำหรับ Android ส่งข้อมูล (แอพพลิเคชั่น) ให้ฉันและภายในข้อมูลนั้นเป็นเวลาประทับ ในการจัดเก็บการประทับเวลานั้นเป็นเวลา utc ที่ฉันใช้:
datetime.utcfromtimestamp(timestamp)
ดูเหมือนว่าจะทำงานได้ เมื่อแอพของฉันเก็บข้อมูลมันจะถูกจัดเก็บล่วงหน้า 5 ชั่วโมง (ฉัน EST -5)
ข้อมูลถูกจัดเก็บใน BigTable ของ appengine และเมื่อดึงข้อมูลออกมาจะเป็นสตริงดังนี้:
"2011-01-21 02:37:21"
ฉันจะแปลงสตริงนี้เป็น DateTime ในเขตเวลาที่ผู้ใช้แก้ไขได้อย่างไร
นอกจากนี้พื้นที่เก็บข้อมูลที่แนะนำสำหรับข้อมูลเขตเวลาของผู้ใช้คืออะไร (โดยทั่วไปคุณจะเก็บข้อมูล tz เช่น: "-5: 00" หรือ "EST" ฯลฯ ฯลฯ ) ฉันแน่ใจว่าคำตอบสำหรับคำถามแรกของฉันอาจมีพารามิเตอร์ที่คำตอบที่สอง