我有一个类文件,其中日期字段的值类似于"1329242400“。该值在UI中表示为“0day 00:02:56”。我在下面试过了,但我得到了1970年代的日期。
String attr = "1329242400";
Date cDate = new Date(Long.parseLong(attr));输出为"Fri Jan 16 04:16:55 EST 1970“
下面试过了,
GregorianCalendar c = new GregorianCalendar();
c.setTime(cDate);
XMLGregorianCalendar dDt = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);输出为"1970-01-16T04:16:55.200-05:00“
我应该做什么其他转换方法来获得“0day 00:02:56”或类似"Tue Feb 14 00:02:56 EST 2011"?
发布于 2012-02-15 02:12:10
构造器期望时间戳以毫秒为单位,所以误差了3个数量级:
Date cDate = new Date(Long.parseLong(attr) * 1000);
^^^^^^发布于 2012-02-15 02:14:13
GregorianCalendar c = new GregorianCalendar();
c.setTime(cDate);
XMLGregorianCalendar dDt = DatatypeFactory.newInstance().newXMLGregorianCalendar(c);
SimpleDateFormat sdf = new SimpleDateFormat ("E MM dd hh:mm:ss z");
sdf.format(c.getTime());http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
https://stackoverflow.com/questions/9281909
复制相似问题