Android 转换UTC时间:2013-06-13T14:15:44.000的时间格式 为GMT时间
2015-07-06 10:36
716 查看
在有些软件中,可能需要展示一些时间信息,而这些信息可能是Server以UTC格式或Unix timestamp 格式推送过来的,终端可能需要将这些转换为本地时间展示。
终端的制式可能是12小时制、也可能是24小时制的
今天就遇到将utc时间格式转换为GMT
HH:返回的是24小时制的时间
hh:返回的是12小时制的时间
下面就是转换的类型代码,当然服务器的格式 2013-06-13T14:15:44.000
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
根据服务器格式修改成对应的就好。
/* 将Server传送的UTC时间转换为指定时区的时间 */
@SuppressLint("SimpleDateFormat")
public String converTime(String srcTime, TimeZone timezone) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
SimpleDateFormat dspFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String convertTime;
Date result_date;
long result_time = 0;
// 如果传入参数异常,使用本地时间
if (null == srcTime)
result_time = System.currentTimeMillis();
else {
try { // 将输入时间字串转换为UTC时间
sdf.setTimeZone(TimeZone.getTimeZone("GMT00:00"));
result_date = sdf.parse(srcTime);
result_time = result_date.getTime();
} catch (Exception e) { // 出现异常时,使用本地时间
result_time = System.currentTimeMillis();
dspFmt.setTimeZone(TimeZone.getDefault());
convertTime = dspFmt.format(result_time);
return convertTime;
}
}
// 设定时区
dspFmt.setTimeZone(timezone);
convertTime = dspFmt.format(result_time);
return convertTime;
}
srcTime就是上面传的2013-06-13T14:15:44.000字符串,timezone
就是你自己想转换的时区,比如我转换北京东八区,TimeZone.getTimeZone("GMT+8")这样就转换成功了非常方便。
终端的制式可能是12小时制、也可能是24小时制的
今天就遇到将utc时间格式转换为GMT
HH:返回的是24小时制的时间
hh:返回的是12小时制的时间
下面就是转换的类型代码,当然服务器的格式 2013-06-13T14:15:44.000
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
根据服务器格式修改成对应的就好。
/* 将Server传送的UTC时间转换为指定时区的时间 */
@SuppressLint("SimpleDateFormat")
public String converTime(String srcTime, TimeZone timezone) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
SimpleDateFormat dspFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String convertTime;
Date result_date;
long result_time = 0;
// 如果传入参数异常,使用本地时间
if (null == srcTime)
result_time = System.currentTimeMillis();
else {
try { // 将输入时间字串转换为UTC时间
sdf.setTimeZone(TimeZone.getTimeZone("GMT00:00"));
result_date = sdf.parse(srcTime);
result_time = result_date.getTime();
} catch (Exception e) { // 出现异常时,使用本地时间
result_time = System.currentTimeMillis();
dspFmt.setTimeZone(TimeZone.getDefault());
convertTime = dspFmt.format(result_time);
return convertTime;
}
}
// 设定时区
dspFmt.setTimeZone(timezone);
convertTime = dspFmt.format(result_time);
return convertTime;
}
srcTime就是上面传的2013-06-13T14:15:44.000字符串,timezone
就是你自己想转换的时区,比如我转换北京东八区,TimeZone.getTimeZone("GMT+8")这样就转换成功了非常方便。
相关文章推荐
- SignalR IOS Android
- 使用FrameLayout实现霓虹灯效果
- Android开发规范
- android中string.xml中%1$s、%1$d等的用法
- 远程调用服务器端的webservice接口
- Android wiki : 20.操作自己已有的数据库
- Android wiki : 19.安装和卸载软件
- Android wiki : 18.DevicePolicyManager锁屏和清除数据
- Android wiki :17.GPS服务
- 如何定位Android NDK开发中遇到的错误
- Android开发:findViewById返回null的解决办法
- Android横屏竖屏切换的问题
- 在Android Studio上引用本地的aar文件
- Android入门(11)——ListView使用汇总
- Android Handler Message多线程实例
- 浅谈android4.0开发之GridLayout布局
- 安装android的IntelHaxm.exe时出错的问题
- Android 中 EditText 的十六进制格式化输入
- Android实现WiFi列表显示与连接
- Java(Android)线程池