Java 格式化没有字符串的日期对象?

Java 格式化没有字符串的日期对象?,java,Java,我有一个日期对象(Fri Dec 31 00:00:00 CET 1999),我只想显示31-12-1999 我不想用String对象来显示我需要用Date对象显示的信息 您有解决此问题的方法吗?您可以将日期作为文本直接写入ByteBuffer,然后将其写入IO设备。例如,这可以用来加速日志记录 使用时区转换日期的逻辑非常复杂,但是我建议您使用标准库或JodaTime进行日期转换,因为不值得自己编写 因此,我直接将时间写入ByteBuffer,并使用SimpleDataFormat生成日期的缓存

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

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


您有解决此问题的方法吗?

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

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

因此,我直接将时间写入ByteBuffer,并使用SimpleDataFormat生成日期的缓存字符串(因为它每天只更改一次)

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

使用


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

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

显示字符串(或至少某种字符序列)字符串和日期实际上都不显示任何内容。它们是不同类型数据的容器
System.out.prinln
等显示内容,
System.out.println
显示字符串。如果没有
字符串,您将无法显示任何内容。
Date d; // this is your date 
Date dateWithoutTime = new Date(d.getYear(), d.getMonth(), d.getDay());