我从休息服务获取字符串形式的时间对象。我需要提取时间,然后执行一些时间操作。给定的时间字符串为“ 2015-06-16T14:58:48Z”。我尝试了以下代码,将字符串转换为time,但是得到了不正确的值。
String time = "2015-06-16T14:58:48Z";
SimpleDateFormat formatter = new SimpleDateFormat("YYYY-MM-DD'T'hh:mm:ss'Z'", Locale.US);
String dateInString = "2015-06-16T14:58:48Z";
Date date = formatter.parse(dateInString);
System.out.println("Original String : " + time);
System.out.println("After converting to time : " + formatter.format(date));
我得到的输出如下:原始字符串:2015-06-16T14:58:48Z转换为时间后:2015-12-362T02:58:48Z
转换后的日期以某种方式获得了错误的值。请指出错误在哪里。谢谢。
您格式化字符串有两个错误:
Y
表示星期,而不是年份,即y
D
表示一年中的一天。您应该已经使用过d
,这表示一个月中的某天。h
表示一天中的12小时表示法。既然有了14
,就应该使用H
,它可以处理24小时制。总结一下:
SimpleDateFormat formatter =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssX", Locale.US);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句