如何在android中以秒为单位获取UTC偏移量

发布于 2024-12-03 06:15:51 字数 283 浏览 0 评论 0原文

我试图在 android 中以秒为单位获取 UTC 偏移量。由于模拟器不断返回 0,我无法判断我是否正确执行了此操作。

    Calendar c=Calendar.getInstance();
        TimeZone tz=c.getTimeZone();
        int offsetFromUtc=tz.getOffset(0)/1000;

当我在 tz.getOffset 中输入 0 时,这意味着我只需要 gmt 的秒数。 让我知道我所做的是否正确。谢谢

I'm trying to get the UTC offset in seconds in android. Since the emulator keeps returning 0, I can't tell if I'm doing this correctly or not.

    Calendar c=Calendar.getInstance();
        TimeZone tz=c.getTimeZone();
        int offsetFromUtc=tz.getOffset(0)/1000;

When I put 0 in the tz.getOffset it means I just want the number of seconds from gmt.
Let me know if what Im doing is correct. Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三岁铭 2024-12-10 06:15:51

时区偏移在一年中可能会发生变化,最常见的原因可能是夏令时。而不是将 0 传递给 TimeZone.getOffset() 使用当前时间获取当前偏移量,创建一个新的 Date 并获取其时间值:

TimeZone tz = TimeZone.getDefault();
Date now = new Date();
int offsetFromUtc = tz.getOffset(now.getTime()) / 1000;

模拟器默认为 UTC,尝试检查可用的时区进行测试。您还可以通过时区开关来设置时区,查看文档对于-时区。

Time Zone offsets can change during the year, perhaps the most common reason is Daylight Savings Time. Instead of passing 0 to TimeZone.getOffset() uses the current time to get the current offset, create a new Date and get its Time value:

TimeZone tz = TimeZone.getDefault();
Date now = new Date();
int offsetFromUtc = tz.getOffset(now.getTime()) / 1000;

The emulator defaults to UTC, try checking the available timezones to test. Also you can pass a timezone switch to set the timezone, check the documentation for -timezone.

慢慢从新开始 2024-12-10 06:15:51

模拟器的默认时区是 GMT,这意味着您将始终获得 0 的偏移量。
你的代码看起来不错(我没有尝试)。
尝试将模拟器的时区更改为其他时区并检查您的代码。
看看这个开放帖子:链接< /a>

The default timezone of the emulator is GMT, meaning you will always get an offset of 0.
Your code looks fine (I didn't try it).
Try changing the timezone of your emulator to something else and check your code.
Take a look in this open post: Link

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文