将 Java SQL 日期从 yyyy-MM-dd 转换为 dd MMMM yyyy 格式的最佳方法
有没有一种直接的方法可以将 Java SQL 日期从 yyyy-MM-dd 格式转换为 dd MMMM yyyy 格式?
Is there a straightforward way of converting a Java SQL Date from format yyyy-MM-dd to dd MMMM yyyy format?
我可以将日期转换为字符串,然后对其进行操作,但我宁愿将其保留为 Java SQL 日期.在我需要这样做的时候,数据已经从 MySQL 数据库中读取,所以我不能在那里进行更改.
I could convert the date to a string and then manipulate it but I'd rather leave it as a Java SQL Date. at the time I need to do this, the data has already been read from the MySQL database so I cant do the change there.
推荐答案
java.sql.Date
和java.util.Date
等对象(其中java.sql.Date
是一个子类)没有自己的格式.您使用 java.text.DateFormat
对象以特定格式显示这些对象,并且是 DateFormat
(不是 Date
本身)确定格式.
Object such as java.sql.Date
and java.util.Date
(of which java.sql.Date
is a subclass) don't have a format of themselves. You use a java.text.DateFormat
object to display these objects in a specific format, and it's the DateFormat
(not the Date
itself) that determines the format.
例如:
Date date = ...; // wherever you get this
DateFormat df = new SimpleDateFormat("dd MMMM yyyy");
String text = df.format(date);
System.out.println(text);
注意:当您打印 Date
对象而不使用 DateFormat
对象时,如下所示:
Note: When you print a Date
object without using a DateFormat
object, like this:
Date date = ...;
System.out.println(date);
然后它将使用一些默认格式进行格式化.但是,该默认格式不是您可以更改的 Date
对象的属性.
then it will be formatted using some default format. That default format is however not a property of the Date
object that you can change.
相关文章