Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字符串转换为日期?JAVA_Java_Date_Simpledateformat - Fatal编程技术网

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

如何将字符串转换为日期?JAVA,java,date,simpledateformat,Java,Date,Simpledateformat,我有这个字符串:2014年6月7日。 我想转换为java.utils.Date 我使用这个代码 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); String dateInString = "7-Jun-2013"; try { Date date = formatter.parse(dateInString); System.ou

我有这个字符串:2014年6月7日。 我想转换为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)
使用

设置日期的格式。您对
/
符号使用了错误的格式

另见:

尝试使用

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

SimpleDataFormat
按照您告诉它的方式查看给定字符串,因此在您的示例中,它会查找一个包含两个字符的字符串,这些字符表示天,后跟一个“/”符号,然后是两个字符表示月,依此类推

使用SimpleDataFormat,您可以将日期字符串转换为日期字符串,并将日期字符串转换为日期字符串

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);
    }
}
无论何时使用yo格式日期,请验证您使用的格式
在您的情况下,您使用的是
dd/MM/yyyy
,但在格式
dd-MMM-yyyy
中使用的日期使用此代码。这很简单

Date date = new SimpleDateFormat("d-MMM-yyyy").parse("7-Jun-2014");
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));


    }
}

对于简化格式为
dd/MM/yyyy
,您以
d-MMM-yyyy
的格式向其提供的日期可能重复,显然它崩溃了。看看如何为日期格式创建日期字符串:为SimpleDataFormat提供的日期格式与搜索字符串不匹配。将日期格式更改为dd-MMM-yyyyyy我将获得此异常:线程“main”中的异常java.text.ParseException:Unparseable日期:java.text.DateFormat.parse(未知源代码)中的java.text.DateFormat.parse(未知源代码)中的java.abcsolution.util.Test.main(Test.java:10)
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));


    }
}