我从我的数据库中获取了一个epoch字符串,如下所示:1391328000000
我很难将其转换为Java Date。
我尝试了以下内容:
private String buildDate(String dateString){
System.out.println("dateString " + dateString);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String formatted = format.format(Integer.parseInt(dateString));
return formatted;
}
答案 0 :(得分:3)
您需要将其转换为java.util.Date
对象,以便SimpleDateFormat
处理它。此外,您引用的值需要被解析为long
,因为它对于int
来说太大了。
也就是说,将您设置为formatted
的行更改为:
String formatted = format.format(new Date(Long.parseLong(dateString)));
顺便说一句,如果您正在处理的项目可以处理额外的外部依赖关系,请将日期/时间处理切换到joda library。 java.util
中的内容(即Date
和Calendar
)很快就会变得痛苦并且容易出错。
答案 1 :(得分:3)
我认为你对DateFormat
过分思考。如果我想简单地获得一个Date
实例,我会尝试以下内容:
Date d = new Date(Long.parseLong(dateString));