浏览 11590 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-10
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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |