作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的 Android 应用程序服务器中将返回一些 UTC
日期,格式如下(yyyy-MM-dd HH:mm:ss
) 24 小时,我需要转换这些时间进入用户的时区,例如 CST
、IST
。
我做了以下代码,但我知道它是否正确,请帮助我以正确的方式进行时区转换。
我将 UTC 日期作为 json 字符串并转换为用户的时区格式并显示 Android 端
private static Date utcDate;
private static DateFormat expireFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
try {
expireFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
utcDate = expireFormat.parse("2014-04-01 10:32:00");
System.out.println(TimeZone.getDefault().getID());
expireFormat.setTimeZone(TimeZone.getTimeZone(TimeZone.getDefault().getID()));
System.out.println(expireFormat.format(utcDate));
} catch (ParseException e) {
e.printStackTrace();
}
output of the code:
Asia/Calcutta
2014-04-01 16:02:00
最佳答案
如果重新格式化的字符串确实是您想要得到的,那么总体方法是可行的。
虽然有一些问题
SimpleDateFormat
不是线程安全类。将其设置为服务器内的静态字段是个问题!
与关于使用静态字段保存中间 Date 对象的 #1 相同。
“CST”是中国标准时间吗?中部标准时间(美国或澳大利亚)?古巴标准时间?三个字母的缩写 TimeZone 通常是个坏消息。如果可能,尽量使用 Olson 姓名或别名。
这是服务器端还是安卓端?如果它是一个服务器,您可能会受益于用于日期时间处理的新 Java 8 API。
关于java - 如何将 UTC 时间转换为其他时区 ("CST","IST"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22768905/
我是一名优秀的程序员,十分优秀!