我正在为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