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小时)。 

这个没法使用,得转换下. 
Java代码   收藏代码
  1. public class TimeZoneTest   
  2. {   
  3.         public static void main (String args[])   
  4.         {   
  5.                 try   
  6.                 {   
  7.                         String ts = "2007-10-23T17:15:44.000Z";   
  8.                         System.out.println("ts = " + ts);   
  9.                         ts = ts.replace("Z"" UTC");   
  10.                         System.out.println("ts = " + ts);   
  11.                         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");  
  12.   
  13.                          Date dt = sdf.parse(ts);   
  14.   
  15.   
  16.                          TimeZone tz = sdf.getTimeZone();   
  17.                          Calendar c = sdf.getCalendar();   
  18.                          System.out.println("Display name: " +   
  19. tz.getDisplayName());   
  20.                          System.out.println(getString(c));   
  21.                 }   
  22.                 catch(ParseException pe)   
  23.                 {   
  24.                         System.out.println("Error offset: " + pe.getErrorOffset());   
  25.                         pe.printStackTrace();   
  26.                 }   
  27.         }   
  28.   
  29.   
  30.         private static String getString(Calendar c)   
  31.         {   
  32.                 StringBuffer result = new StringBuffer();   
  33.                 result.append(c.get(Calendar.YEAR));   
  34.                 result.append("-");   
  35.                 result.append((c.get(Calendar.MONTH) + 1));   
  36.                 result.append("-");   
  37.                 result.append(c.get(Calendar.DAY_OF_MONTH));   
  38.                 result.append(" ");   
  39.                 result.append(c.get(Calendar.HOUR_OF_DAY));   
  40.                 result.append(":");   
  41.                 result.append(c.get(Calendar.MINUTE));   
  42.                 result.append(":");   
  43.                 result.append(c.get(Calendar.SECOND));   
  44.                 return result.toString();   
  45.         }   
  46.   
  47.   
  48.   
  49. }   
  50.     


运行结果: 
Java代码   收藏代码
  1. ts = 2007-10-23T17:15:44.000Z   
  2. ts = 2007-10-23T17:15:44.000 UTC   
  3. Display name: Coordinated Universal Time   
  4. 2007-10-23 17:15:44   
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值