将字符串转换为德国日期java

时间:2014-08-17 12:11:50

标签: java date-formatting

我的问题如下。我想要字符串“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”。

谢谢,任何帮助表示赞赏。

2 个答案:

答案 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中