如何使用Java将字符串格式化为日期

如何使用Java将字符串格式化为日期,java,Java,我需要使用java将字符串格式化为日期。 我的字符串是“2014年7月15日” 我需要将其转换为日期格式,如“15-07-2014” 有人能帮我吗。使用SimpleDataFormat将字符串解析为java.util.Date对象; 然后使用另一个SimpleDataFormat将日期对象格式化为所需的任何格式 有关详细信息(如何设置dateformat字符串),请参阅JavaDoc。您可能需要定义SimpleDataFormat并使用parse方法 您几乎可以定义任何想要的日期模式,只需查看j

我需要使用java将字符串格式化为日期。 我的字符串是“2014年7月15日” 我需要将其转换为日期格式,如“15-07-2014”


有人能帮我吗。

使用SimpleDataFormat将字符串解析为java.util.Date对象; 然后使用另一个SimpleDataFormat将日期对象格式化为所需的任何格式


有关详细信息(如何设置dateformat字符串),请参阅JavaDoc。

您可能需要定义SimpleDataFormat并使用parse方法

您几乎可以定义任何想要的日期模式,只需查看javadocs上列出的模式定义

注意SimpleDataFormat不是线程安全的。

以下是示例

    String dateString = "15th July, 2014";
    dateString= dateString.replace("th", "").replace("nd", "").replace("rd", "").replace("st", "");

    SimpleDateFormat formatter1 = new SimpleDateFormat("dd MMMM, yyyy");
    Date dt = formatter1.parse(dateString);

    SimpleDateFormat formatter2 = new SimpleDateFormat("dd-MM-yyyy");
    System.out.println(formatter2.format(dt));
有关各种选项,请阅读SimpleDataFormat上的javadoc

我尝试了以下代码------但显示错误“不可解析的日期:”2014年7月15日“SimpleDataFormat dateFormat=new SimpleDataFormat(“dd-MMM-yyyy”);String dateStr=“2014年7月15日”;date-date=dateFormat.parse(dateStr);System.out.println(date);System.out.println(dateFormat.format(date));你的月名是完全写出来的吗?还是有一个限制,例如“11月”的“Novemb”?这无助于从发问者的字符串中解析日期我没有注意到你有字符串开头。我更新了代码段