2

我正在为 android 开发一个应用程序,它必须列出活动及其日期和时间。我想忽略设备的时区并始终显示时区 +02:00 中的时间。

该应用程序适用于西班牙,但如果来自另一个时区的英国人使用该应用程序,我希望活动时间出现在西班牙当地时间。

日期为 UTC 格式,使用 Calendar.getTime().toLocaleString(),时间以设备本地时区为准。

我想知道这是否是一种设置必须使用我的应用程序的默认时区的方法,并且当我调用 Calendar.getTime().toLocaleString() 方法时,尽管有设备时区

4

2 回答 2

8
TimeZone.setDefault(TimeZone.getTimeZone("GMT+3"));

这将设置默认时区。随后的调用Calendar.getInstance()总是返回,就好像设备处于该时区一样。

于 2017-11-16T00:33:40.827 回答
0

您需要设置日历的时区。这可以这样做:

Calendar.setTimeZone(TimeZone timezone);

然后您的日历将使用不同的时区。

如果要更改系统时区,可以使用setTimeZone()AlarmManager 来完成。

这样做时,清单必须包含正确的权限,即

android.permission.SET_TIME

链接到 文档

我在这里找到了其他一些解决方案,请查看。

于 2012-05-25T18:04:51.257 回答