在Java中,日期类型可以只保存MM-dd-yyyy还是仅仅hh:mm:ss?

时间:2016-07-11 13:45:11

标签: java

我正在将纪元格式时间转换为正常格式,但是当我将它转换为日期时,我得到了,MM-dd-yyyy hh:mm:ss。

如果我想单独列出我必须使用SimpleDateFormat的日期或时间。但是这会返回一个String。我想知道是否有办法使这个字符串成为Date类型。

2 个答案:

答案 0 :(得分:6)

类型java.util.Date实际上是一个时间戳,它不过是自01-01-1970,00:00:00 UTC以来的一个毫秒的包装器。 (不幸的是,类名Date被严重选择)。

它不太适合只持有日期或时间值。

如果您使用的是Java 8,请使用新的日期和时间API(包java.time);如果您需要存储一年/月/日,则使用例如LocalDate;如果您只需存储一个时间(小时,分钟,秒,毫秒),则使用LocalTime。< / p>

如果您使用的是Java 7或更早版本,请考虑使用Joda Time库中的等效类。

答案 1 :(得分:0)

您可以将日期格式设置为MM-dd-yyyy HH:mm:ss not(MM-dd-yyyy hh :mm:ss)

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

DateFormat dateformat= new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
Date date = dateformat.parse("01-25-1988 23:54:59");
System.out.println(date);
System.out.println(dateformat.format(date));