Java 更改日期类型和格式
我有下面的方法,其中日期作为参数出现,以字符串的形式出现,参数名为dateString,如下所示,最终日期以java.sql.date的形式转换并存储,这也是该方法的返回类型Java 更改日期类型和格式,java,date,Java,Date,我有下面的方法,其中日期作为参数出现,以字符串的形式出现,参数名为dateString,如下所示,最终日期以java.sql.date的形式转换并存储,这也是该方法的返回类型 public static java.sql.Date getSimpleDate11(String dateString) { if (dateString == null) { return null; } java.util.Date 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。这将生成所需的日期格式-只需使用字符串作为返回类型,而不是java.sql.date:
如果您需要将传入的yyyy MM dd字符串日期转换为java.sql.date对象,那么您在问题中发布的代码中已经做得很好了 一个java.sql.Date对象,就像一个java.util.Date对象一样,在内部以某种格式存储您给它的日期,作为一个程序员,您不必关心这种格式。您只需知道日期存储在对象中,并且可以在需要时从对象中取出日期。如果你对技术细节感兴趣,你可以在谷歌上搜索,但正如我所说,在你的情况下,这并不重要
每当您需要java.util.Date对象时,只需使用从原始getSimpleDate11中获得的对象。。。作用每当您需要以某种格式(如dd-MM-yy)表示日期的字符串时,请使用java.util.date并将其插入到用所需输出格式初始化的DateFormat对象中,就像我在第一个回答中使用DateFormat dfOut格式所做的那样。。。DateFormat方法可以同时处理java.util.Date和java.sql.Date对象。日期的可能副本是自1970年1月1日00:00:00 GMT以来毫秒数的容器-格式为irrlevent@MadProgrammer请您提供建议,并在可能的情况下展示如何将格式从YYYY-MM-dd转换为dd-MM-YY格式,请告知我,显示问题已经回答的部分是不同的,你不能-这就是答案,日期的格式是基于本地的。DateFormatter用于采用日期格式并将其格式化为某个字符串值。Date是一个容器,表示从纪元开始的毫秒数-它没有格式的概念,不能更改,也不应该更改。谢谢,但最后我必须在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);
}
}