如何将字符串转换为日期? JAVA

时间:2014-11-03 12:01:16

标签: java date simpledateformat

我有这个字符串:7 -Jun- 2014。 我想转换为java.utils.Date;

我使用此代码

 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
        String dateInString = "7-Jun-2013";

        try {

            Date date = formatter.parse(dateInString);
            System.out.println(date);
            System.out.println(formatter.format(date));

        } catch (ParseException e) {
            e.printStackTrace();
        }

但我得到了这个例外:

java.text.ParseException: Unparseable date: "7-Jun-2013"
at java.text.DateFormat.parse(Unknown Source)
at ma.abcsolution.util.Test.main(Test.java:15)

5 个答案:

答案 0 :(得分:1)

尝试使用

SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");

SimpleDateFormat看一下你告诉它的给定字符串,所以在你的例子中它会查找一个包含2个字符的字符串,然后是' /'签署,然后是月份的2个字符等等

答案 1 :(得分:0)

使用

 SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");

格式化日期。您使用了/符号的错误格式。

另见:

答案 2 :(得分:0)

使用SimpleDateFormatter,您可以将日期字符串转换为日期和日期转换为日期字符串

public final class DateUtil {

    private static final String DEFAULT_DATE_FORMAT = "dd-MMM-yyyy";

    private DateUtil() {
    }

    public static final String formatDate(final Date date, final String dateFormat) {
        DateFormat format = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
        return format.format(date);
    }

    public static final Date formatDate(final String date) throws ParseException {
        return formatDate(date, DEFAULT_DATE_FORMAT);
    }

    public static final Date formatDate(final String date, final String dateFormat) throws ParseException {
        DateFormat format = new SimpleDateFormat(dateFormat);
        return format.parse(date);
    }
}

每当您要格式化日期时,请验证您使用的格式 在您的情况下,您使用的是dd/MM/yyyy,但使用的格式为dd-MMM-yyyy

答案 3 :(得分:0)

Date date = new SimpleDateFormat("d-MMM-yyyy").parse("7-Jun-2014");

答案 4 :(得分:0)

使用此代码。这很简单。

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTime {

    public static void main(String args[]){
        SimpleDateFormat ft = new SimpleDateFormat("dd/MM/yyyy");
        String dateInString = "7-Jun-2013";

        Date date=new Date(dateInString);

        System.out.println(ft.format(date));


    }
}