关于java:如何将日期字符串转换为Date数据类型

How to convert date string to Date data type

本问题已经有最佳答案,请猛点这里访问。

我有一个

String dateString ="Fri Feb 14 00:00:00 IST 2014";

我需要Date数据类型的输出,如2014-02-14

这是抛出Parse exception的代码。

需要帮助。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String args[]){
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    String dateString ="Fri Feb 14 00:00:00 IST 2014";

        Date convertedDate = null;
        try {
            convertedDate = df.parse(dateString);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println(convertedDate);

}


基点是 - 输入字符串应与日期模式匹配

由于错误的模式引发了解析异常,请使用此日期模式 - EEE MMM dd hh:mm:ss z yyyy

1
DateFormat df = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

试试这个:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
    DateFormat df = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");

    String dateString ="Fri Feb 14 00:00:00 IST 2014";

    Date convertedDate = null;
    try {
        convertedDate = df.parse(dateString);
    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    System.out.println(convertedDate);
}


您必须将dateString转换为匹配的Date格式,然后您可以格式化Date您想要的格式。

试试这个

1
2
3
4
5
  DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  DateFormat df2 = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy");
  String dateString ="Fri Feb 14 00:00:00 IST 2014";
  Date date=df2.parse(dateString); // convert stringDate to matching Date format
  System.out.println(df1.format(date));

出局:

1
  2014-02-14 12:00:00