Android 夏令时 (DST) 问题

Posted

技术标签:

【中文标题】Android 夏令时 (DST) 问题【英文标题】:Android Daylight Savings Time (DST) issue 【发布时间】:2015-06-07 06:43:42 【问题描述】:

我在我的 android 项目中使用了一个 API 结果,其中包括事件的时间。问题是由于某些国家/地区使用 DST(夏令时),我没有得到正确的时间向全世界展示。

例如:假设从 API 我得到 14:20 (GMT +0.00 Time) ,在使用 DST 的区域(例如:加拿大,GMT -4.00)时间应该显示为 9.20 而不是 10.20(即一个小时回到实际时间。)同时世界其他地方不使用夏令时必须显示实际时间(即10:20)

有什么方法可以解决这个问题吗?

有人知道如何解决这个问题吗?

【问题讨论】:

你试过在网上搜索这个吗? Android 具有可用于查询时区、确定夏令时是否处于活动状态以及从常规时区获取夏令时偏移的 API。看看this,如果您的实现遇到特定问题,请发布您的代码。 【参考方案1】:

我更喜欢为国家及其夏令时分配一个标签。所以每次根据国家标签调用 API 时,它都会更正时区。

如果不是另一种方法是跟踪用户位置并将 DST 分配到特定位置。希望它的使用完全有一个美好的一天。

Get Location and assigning time zone

【讨论】:

以上是关于Android 夏令时 (DST) 问题的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法检查它是不是是 UTC 的 DST(夏令时)?

org.joda.time |夏令时 (DST) 和本地时区偏移

如何更改 p:calendar 组件中的夏令时 (DST) 日期

如何检查 DST(夏令时)是不是有效,如果有效,偏移量?

在 Pandas 日期时间列中标记夏令时 (DST) 小时

在 SQL/数据库级别计算夏令时 (DST)