如何解决Android:如何获取基于设备时区的默认日期格式
是否有任何简单的方法可以按照用户的时区获取默认日期格式?
SimpleDateFormat()
给出了根据用户区域设置的日期格式。我正在寻找一种需要将提供的Date转换为基于时区的日期格式的情况。
例如,某个用户将其语言环境设置为“中文”,并且在德国时区中,其日期格式应为dd.mm.yyyy
解决方法
您可以执行以下操作:
-
使用Geolocation API获取国家/地区代码,例如通过从URL解析JSON,http://ip-api.com/json您可以获取国家/地区代码。
-
遍历
的Locale.getAvailableLocales()
,假设使用循环变量locale
并返回locale
locale.getCountryCode().equals(the-country-code-obtained-from-the-json)
-
使用获得的
Locale
,获得如下所示的日期格式:String datePattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(FormatStyle.SHORT,null,IsoChronology.INSTANCE,locale);
尝试此操作以从设备获取日期格式:
Format dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext());
String pattern = ((SimpleDateFormat) dateFormat).toLocalizedPattern();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。