-2

我有一个日期对象(1999 年 12 月 31 日星期五 00:00:00 CET),我只想显示 31-12-1999。

而且我不想使用字符串对象来显示我需要用日期对象显示的信息。

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

4

3 回答 3

4

使用java.text.SimpleDateFormat

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");
String formattedDate = dateFormatter.format(dateInstance);
于 2012-08-29T15:06:18.733 回答
1

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

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

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

如果要显示到 GUI,则必须使用字符串,因为 GUI 使用的是字符串。

于 2012-08-29T15:05:26.270 回答
1

您的意思是您需要从 Date 对象中删除时间信息吗?你可以做这样的事情。

Date d; // this is your date 
Date dateWithoutTime = new Date(d.getYear(), d.getMonth(), d.getDay());
于 2012-08-29T15:07:49.887 回答