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

时间:2014-02-18 12:06:27

标签: java date date-format simpledateformat

我有一个

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

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

以下是抛出Parse exception的代码。

需要帮助。

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);

}   

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

试试这个

  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));

Out put:

  2014-02-14 12:00:00

答案 2 :(得分:0)

试试这个:

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);
}