论坛首页 Java企业应用论坛

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

浏览 11590 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-03-10  
近日,把玩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 


论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics