将历元字符串转换为Java日期
我从数据库中得到一个历元字符串,看起来像这样:1391328000000 我很难将其转换为Java日期 我尝试了以下方法:将历元字符串转换为Java日期,java,parsing,date,datetime,epoch,Java,Parsing,Date,Datetime,Epoch,我从数据库中得到一个历元字符串,看起来像这样:1391328000000 我很难将其转换为Java日期 我尝试了以下方法: private String buildDate(String dateString){ System.out.println("dateString " + dateString); DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); forma
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;
}
您需要将它转换为
java.util.Date
对象,以便SimpleDataFormat
处理它。此外,像您引用的值一样的值需要被解析为长
,因为它对于int
来说太大了
也就是说,将设置格式化
的行更改为:
String formatted = format.format(new Date(Long.parseLong(dateString)));
另外,如果您正在处理的项目可以处理额外的外部依赖项,请将日期/时间处理切换到。
java.util
(即Date
和Calendar
)中的内容很快就会变得痛苦,并且容易出错。您需要将其转换为java.util.Date
对象,以便SimpleDataFormat
来处理它。此外,像您引用的值一样的值需要被解析为长
,因为它对于int
来说太大了
也就是说,将设置格式化
的行更改为:
String formatted = format.format(new Date(Long.parseLong(dateString)));
另外,如果您正在处理的项目可以处理额外的外部依赖项,请将日期/时间处理切换到。
java.util
(也就是说,Date
和Calendar
)中的内容很快就会变得痛苦,并且容易出错。我认为您对DateFormat
的考虑太多了。如果我只想获得一个Date
实例,我将尝试以下方法:
Date d = new Date(Long.parseLong(dateString));
我认为你对
DateFormat
想得太多了。如果我只想获得一个Date
实例,我将尝试以下方法:
Date d = new Date(Long.parseLong(dateString));
那么,这意味着代表什么日期?你真的需要把它作为一个字符串而不是一个数字吗?(我怀疑它实际上是从unix时代开始的毫秒。)那么它代表的是什么日期呢?你真的需要把它作为一个字符串而不是一个数字吗?(我怀疑它实际上是从unix时代开始的毫秒)您实际上不必使用SimpleDateFormat来确定日期。
java.text.Format#Format(objectobj)
的实现非常友好,可以将数字转换为日期。实际上,您不必使用SimpleDataFormat创建日期。java.text.Format#Format(objectobj)
的实现非常友好,可以将数字转换为日期。