Java转换UTC时间:2008-02-13T14:15:44.000Z 怪异的时间格式

近日,把玩Google Pisaca API的时候发现返回一个这样的时间格式:
2008-02-13T14:15:44.000Z ,问人未果.
窃以为T,z应该是和时区有关,经过google果然这个就是传说中的UTC 通用标准时以z来标识
其它的时区显示的时间与通用协调时间不同,因此例如你能使用太平洋标准时间2007-12-25T06:00:00:000-8:00来显示2007年12月25日的早上6:00(它比UTC时间滞后8小时)。

这个没法使用,得转换下.
public class TimeZoneTest 
{
public static void main (String args[])
{
try
{
String ts = "2007-10-23T17:15:44.000Z";
System.out.println("ts = " + ts);
ts = ts.replace("Z", " UTC");
System.out.println("ts = " + ts);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");

Date dt = sdf.parse(ts);


TimeZone tz = sdf.getTimeZone();
Calendar c = sdf.getCalendar();
System.out.println("Display name: " +
tz.getDisplayName());
System.out.println(getString(c));
}
catch(ParseException pe)
{
System.out.println("Error offset: " + pe.getErrorOffset());
pe.printStackTrace();
}
}


private static String getString(Calendar c)
{
StringBuffer result = new StringBuffer();
result.append(c.get(Calendar.YEAR));
result.append("-");
result.append((c.get(Calendar.MONTH) + 1));
result.append("-");
result.append(c.get(Calendar.DAY_OF_MONTH));
result.append(" ");
result.append(c.get(Calendar.HOUR_OF_DAY));
result.append(":");
result.append(c.get(Calendar.MINUTE));
result.append(":");
result.append(c.get(Calendar.SECOND));
return result.toString();
}


}


运行结果:
ts = 2007-10-23T17:15:44.000Z 
ts = 2007-10-23T17:15:44.000 UTC
Display name: Coordinated Universal Time
2007-10-23 17:15:44
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值