有没有一种简单的方法将Java SQL日期从yyyy-MM-dd格式转换为dd MMMM yyyy格式?
我可以将日期转换为字符串,然后对其进行操作,但我更愿意将其保留为Java SQL日期。在我需要这样做的时候,数据已经从MySQL数据库中读取了,所以我不能在那里做更改。
发布于 2010-07-05 18:23:07
像java.sql.Date和java.util.Date ( java.sql.Date是它们的子类)这样的对象没有自己的格式。使用java.text.DateFormat对象以特定格式显示这些对象,由DateFormat (而不是Date本身)决定格式。
例如:
Date date = ...; // wherever you get this
DateFormat df = new SimpleDateFormat("dd MMMM yyyy");
String text = df.format(date);
System.out.println(text);注意:在不使用DateFormat对象的情况下打印Date对象时,如下所示:
Date date = ...;
System.out.println(date);然后,将使用某种默认格式对其进行格式化。但是,该默认格式不是您可以更改的Date对象的属性。
发布于 2010-07-05 18:28:18
如果是为了演示,你可以直接使用SimpleDateFormat:
package org.experiment;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class Dates {
private static SimpleDateFormat df = new SimpleDateFormat("MMMM yyyy");
public static void main(String[] args){
Date oneDate = new Date(new java.util.Date().getTime());
System.out.println(df.format(oneDate));
}
}发布于 2010-07-05 18:22:26
不清楚您所说的"Java SQL日期“是什么意思。如果你的意思是像在java.sql.Date中那样,那么它实际上没有字符串格式...这只是个数字。要以特定的方式格式化它,请使用类似java.text.SimpleDateFormat的内容。
或者,将其转换为Joda;与内置的DateTime相比,Joda Time是一个更好的日期和时间API。例如,SimpleDateFormat不是线程安全的。
(请注意,java.sql.Date比普通的java.util.Date具有更高的精度,但在这里看起来您不需要这样的精度。)
https://stackoverflow.com/questions/3178690
复制相似问题