我正在爲Android製作日記應用程序,我希望允許用戶選擇他們所在的時區。時間對我來說一直是一個編程領域。在java/android和夏令時中處理日期/時間
我將爲可用時區創建一個枚舉。
我打算將日期/時間條目保存爲UTC格式的long
的sqlite,然後在Java中以編程方式處理偏移和DST以進行顯示。
我實際上知道Java在日期/時間處理方面的侷限性。
Calendar utc = Calendar.getInstance(TimeZone.getTimeZone("UTC")); //returns the current time in UTC format
Long utcLong = utc.getTimeInMillis(); //returns current utc time in long for database insertion
問題1:如何應用偏移量並考慮何時應用任何附加的DST偏移量?由於並非所有時區都遵守DST,因此DST在不同時區的不同日期生效。
問題2:Java的TimeZone
類有類似〜800 ID的情況,如果用戶必須滾動瀏覽〜800個選項才能找到適用於它們的選項,這會很煩人。是否有可用的短名單?我想有大約50個有用的時區。
備案,這裏的代碼示例不起作用。它返回本地時間,只是在不調整時間的情況下更改時區信息。 – psycotik