格式化Date对象没有String?

时间:2012-08-29 15:03:23

标签: java

我有一个日期对象(Fri Dec 31 00:00:00 CET 1999),我只想显示31-12-1999。

我不想使用String Object来显示我需要使用Date对象显示的信息。

你有解决这个问题的方法吗?

3 个答案:

答案 0 :(得分:4)

使用java.text.SimpleDateFormat

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");
String formattedDate = dateFormatter.format(dateInstance);

答案 1 :(得分:1)

您可以将Date作为文本直接写入ByteBuffer,您可以将其写入IO设备。例如,这可用于加速日志记录。

使用时区转换日期的逻辑是如此复杂,但我建议您使用标准库或JodaTime作为日期,因为它不值得自己写。

出于这个原因,我直接将时间写入ByteBuffer并使用SimpleDateFormat为日期生成一个缓存的String(因为它每天只更改一次)

如果要显示GUI,则必须使用String,因为GUI使用的是。

答案 2 :(得分:1)

您是否需要从Date对象中删除时间信息?你可以这样做。

Date d; // this is your date 
Date dateWithoutTime = new Date(d.getYear(), d.getMonth(), d.getDay());