我有以下方法,其中日期作为参数以字符串形式出现,参数名称为dateString
,如下所示,最终日期转换并以java.sql.Date
的形式存储这也是这种方法的返回类型。
public static java.sql.Date getSimpleDate11(String dateString) {
if (dateString == null) {
return null;
}
java.util.Date date = null;
java.sql.Date sqlDate = null;
try {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
df.setLenient(false);
date = df.parse(dateString);
sqlDate = new java.sql.Date(date.getTime());
} catch (Exception pe) {
throw new RuntimeException(
"The date entered is invalid or has incorrect format"
+ dateString);
}
return sqlDate;
}
我发现价值以2014-07-23(YYYY-MM-dd)格式出现,我希望返回日期(java.sql..Date
)在23-07-14(dd-MM-) YY)。
答案 0 :(得分:0)
这会生成您想要的日期格式 - 只需使用String
作为返回类型而不是java.sql.Date
:
public static String getSimpleDate11(String dateString) {
if (dateString == null) {
return null;
}
DateFormat dfIn = new SimpleDateFormat("yyyy-MM-dd");
DateFormat dfOut = new SimpleDateFormat("dd-MM-yy");
try {
Date date = dfIn.parse(dateString);
return dfOut.format(date);
} catch (ParseException e) {
throw new RuntimeException(
"The date entered is invalid or has incorrect format"
+ dateString);
}
}
答案 1 :(得分:0)
如果您需要将传入的“yyyy-MM-dd”String
日期转换为java.sql.Date
对象,则您已在问题中发布的代码中完成了所有操作。
java.sql.Date
对象,就像java.util.Date
一样,以某种格式存储您在内部提供的日期,作为程序员,您不必关心它。您只需知道日期存储在对象中,并且您可以在需要时将其从对象中取出。如果您对技术细节感兴趣,可以谷歌搜索它,但正如我所说,在您的情况下,这无关紧要。
每当您需要java.util.Date
对象时,只需使用原始getSimpleDate11(...)
函数中的对象。每当你需要String
某个格式的日期表示时,比如“dd-MM-yy”,取java.util.Date
并将其插入用你想要的输出格式初始化的DateFormat对象,就像我在DateFormat dfOut
的第一个回答中所做的那样format(...)
DateFormat
方法可以同时处理java.util.Date
和java.sql.Date
个对象。