在Java中将字符串转换为日期

在Java中将字符串转换为日期,java,Java,我试图从web上运行此示例代码副本,但它不起作用。我应该如何改变它 这就是我犯的错误 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TesterA { public static void main(String[] args) { SimpleDateFormat formatter = new Si

我试图从web上运行此示例代码副本,但它不起作用。我应该如何改变它

这就是我犯的错误

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

public class TesterA
{
    public static void main(String[] args)
    {
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-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
表示您提供的字符串无法使用当前设置进行解析

只需设定好目标


代码的可能副本可以与JDK 7配合使用。你在java 6下运行吗?我在JDK 8下运行它,现在在添加区域设置后,它工作正常。可能是@petersze的副本我已经运行了你的代码,它在我的计算机上使用区域设置德语工作。例如,如果我换到法国,我会得到和你一样的错误
java.text.ParseException: Unparseable date: "7-Jun-2013"
    at java.text.DateFormat.parse(DateFormat.java:366)
    at TesterA.main(TesterA.java:14)
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.US);
SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.US);