Android UTC和当地时间

Android UTC和当地时间,android,datetime,timezone,datetime-format,Android,Datetime,Timezone,Datetime Format,我在谷歌上搜索过这个问题,但还没有找到解决这个问题的方法: 我是否可以将服务器上的UTC时间转换为本地日期和时间格式,而无需指定区域设置或格式? 我发现的每个示例都有特定的格式样式,对于某些国家可能会有所不同。例如,在美国时间是MM/dd/yyyy和AM/PM,但在欧洲通常是dd.MM.yyy和24小时格式 android.text.format.DateFormat.getMediumDateFormat(context).format(new java.util.Date(utcDateTi

我在谷歌上搜索过这个问题,但还没有找到解决这个问题的方法: 我是否可以将服务器上的UTC时间转换为本地日期和时间格式,而无需指定区域设置或格式? 我发现的每个示例都有特定的格式样式,对于某些国家可能会有所不同。例如,在美国时间是MM/dd/yyyy和AM/PM,但在欧洲通常是dd.MM.yyy和24小时格式

android.text.format.DateFormat.getMediumDateFormat(context).format(new java.util.Date(utcDateTime));

我在下面的问题中添加了一个答案。

我实际上找到了Android的解决方案:

android.text.format.DateFormat.getTimeFormat(context).format(new java.util.Date(utcDateTime))
所以,上面的行将根据用户对24小时格式的偏好返回格式化时间的字符串值

android.text.format.DateFormat.getMediumDateFormat(context).format(new java.util.Date(utcDateTime));

此行还将根据用户的语言偏好返回包含格式化日期的字符串。

您是否从服务器获取以毫秒为单位的时间?您可以将其解析为日期类格式是否自动正确,或者我是否必须指定一些其他参数,如locale…?执行此操作的简单方法是:始终以定义的格式存储UTC日期示例2015-12-12T12:12:12.500Z,并使用javascript moment.js将其显示为本地日期。因此,您不必担心仅用于演示目的的格式样式。对于本页的未来访问者:遗留日期时间API java.util日期时间类型及其格式类型,SimpleDataFormat已过时且容易出错。建议完全停止使用它,并切换到java.time。您可以检查是否使用java.time API。