如何从Android设备获取UTC时区偏移量(如UTC+03:00
)?借助以下代码,我能够以GMT格式(看起来像GMT+03:00
)检索时区偏移量:
TimeZone.getDefault().getDisplayName(false, TimeZone.SHORT)
我无法以UTC格式检索时区偏移量(我实际上想要检索的是类似UTC+03:00
的东西)。如何实现呢?
UPD
java.util.TimeZone
类似乎有问题,因为
val timeZoneGMT = TimeZone.getTimeZone("GMT")
Log.d("OLOLO ","Time zone GMT: " + timeZoneGMT.getDisplayName(false, TimeZone.SHORT))
输出
GMT时区:GMT + 00:00
但同时
val timeZone = TimeZone.getTimeZone("UTC")
Log.d("OLOLO ","Time zone UTC: " + timeZone.getDisplayName(false, TimeZone.SHORT))
仅输出以下内容:
时区UTC:UTC
答案 0 :(得分:0)
尝试
使用java.time
long timeNow = OffsetDateTime.now(ZoneOffset.UTC)
.toEpochSecond();
Log.d("Time ","Three years ago: "
+ NumberFormat.getIntegerInstance().format(timeNow));
注意:为此,您的最低API级别必须为19或更高。
使用Calender
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
Log.d("Time ",sdf.format(calendar.getTime()));
注意:-这适用于所有API级别。
希望它能解决您的问题。