我的问题如下。我想要字符串“11.11.2012”的德语日期。
我尝试了这段代码:
String date = "11.11.2012";
SimpleDateFormat sdtF = new SimpleDateFormat("dd.mm.yyyy",Locale.GERMANY);
Date dareFormatiert = sdtF.parse(date);
System.out.println(dareFormatiert);
但它给了我错误的格式。 “2012年1月11日星期三00:11:00 CET”,而不是“11.11.2012”。
谢谢,任何帮助表示赞赏。
答案 0 :(得分:7)
您必须在模式中使用M
,因为M
是月份而m
是分钟!
String date = "11.11.2012";
SimpleDateFormat sdtF = new SimpleDateFormat("dd.MM.yyyy",Locale.GERMANY);
^^^^
Date dareFormatiert = sdtF.parse(date);
System.out.println(dareFormatiert);
有关详细信息,请参阅documentation of SimpleDateFormat
答案 1 :(得分:1)
but i still have the same output: Sun Nov 11 00:00:00 CET 2012
尝试使用
时理解这个问题SimpleDateDFormat#parse() - 它解析字符串中的文本以生成日期。 和java中的Date对象始终包含沿时间的日期。
Javadoc says Date() - 分配一个Date对象并对其进行初始化,使其表示分配时间,测量精确到毫秒。
和FYI Sun Nov 11 00:00:00 CET 2012 is equal to 11.11.2012
修改:试试这个
public static Date convertUtilDateToSqlDate(java.util.Date date){
if(date != null && !(date.equals(""))) {
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
return sqlDate;
}
return null;
}
传递上面的实用日期,此方法将返回sql格式的日期,然后将sqlformat日期存储在类型为Date的mysql column-field中