gpt4 book ai didi

java - 从 Android 设备获取 GMT 时区

转载 作者:行者123 更新时间:2023-11-29 23:53:09 49 4
gpt4 key购买 nike

这个问题看起来很简单,但我真的很感激你的帮助。多次在网上搜索。

以下是获取 GMT Android 设备当前时区的代码:

Java.Util.Calendar mCalendar = new Java.Util.GregorianCalendar();
Java.Util.TimeZone mTimeZone = mCalendar.TimeZone;
int mGMTOffset = mTimeZone.RawOffset + (mTimeZone.InDaylightTime(new Java.Util.Date()) ? mTimeZone.DSTSavings : 0);

string timeDiff = Java.Util.Concurrent.TimeUnit.Hours.Convert(mGMTOffset, Java.Util.Concurrent.TimeUnit.Milliseconds).ToString();

输出:

If Mobile time is GMT-03:00 Then timeDiff = -3

If Mobile time is GMT+00:00 Then timeDiff = 0

If Mobile time is GMT+05:00 Then timeDiff = 5

If Mobile time is GMT+05:45 Then timeDiff = 5 (In Correct)

当 GMT 为十进制值时会出现问题,例如 5:45 显示 5。

遇到这些情况应该怎么办?

我从以下链接获得了帮助 How to get the timezone offset in GMT(Like GMT+7:00) from android device?

最佳答案

Using GregorianCalender you can get the timezone please check below code

 Calendar mCalendar = new GregorianCalendar();
TimeZone mTimeZone = mCalendar.getTimeZone();
int mGMTOffset = mTimeZone.getRawOffset();

double sZone = (double) (TimeUnit.MINUTES.convert(mGMTOffset,TimeUnit.MILLISECONDS));
string timeDiff = sZone / 60;

关于java - 从 Android 设备获取 GMT 时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679308/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com