<分区>
我想为 FIFA 2014 世界杯比赛创建一个警报应用程序,其中我有一个服务器存储巴西/阿卡比赛的日期和时间,我的客户端是一个 android 应用程序,android 设备可能有任何可能的时区所以我的问题是我想将巴西/英亩时间转换为具有不同时区的本地 android 设备时间,经过大量谷歌搜索后我开始了解 joda 数据和时间库,但它在 android 中太慢所以请建议任何对我有用的代码。
<分区>
我想为 FIFA 2014 世界杯比赛创建一个警报应用程序,其中我有一个服务器存储巴西/阿卡比赛的日期和时间,我的客户端是一个 android 应用程序,android 设备可能有任何可能的时区所以我的问题是我想将巴西/英亩时间转换为具有不同时区的本地 android 设备时间,经过大量谷歌搜索后我开始了解 joda 数据和时间库,但它在 android 中太慢所以请建议任何对我有用的代码。
最佳答案
在我看来Time class最适合你的工作。此外,它是 Android API 而不是一般的 Java API。
这里我提到了一些对你的工作有用的方法:
void switchTimezone(String timezone)
Convert this time object so the time represented remains the same, but is instead located in a different timezone.
static String getCurrentTimezone()
Returns the timezone string that is currently set for the device.
如果您想以独立于时区的方式保存时间,您可以通过 toMillis()
方法转换为毫秒(UTC),然后通过 set(long millis )
方法。
如果有什么不清楚的请告诉我!
更新
例子:
long timeMillis = /* get time milliseconds form the server */
Time time = new Time();
time.set(timeMillis);
/* changing time zone */
time.switchTimezone(/* your desired timezone in string format */);
/* getting time as string */
String timeString = time.format("%Y%m%dT%H%M%S"); // you can change format as you wish
Here is a table用于格式化时间
关于java - 如何在android中获取相对于另一个时区的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968830/
相关文章:
java - Java泛型中的 'super'和 'extends'有什么区别
android - Android Studio 3.1.1 未识别 MqttConnectOptions 成员
java - TimeZone.observesDaylightTime() 需要 API 级别 24;是否有可能在旧的 API 版本中获得它?
java - NoSuchElementException : Unable to locate element in popup window
android - 将值(value)从一个 Activity 传递到另一个 Activity 的另一种方法