到目前为止,java字符串中存在错误

到目前为止,java字符串中存在错误,java,string,date,Java,String,Date,我想将字符串dateStr=2013-12-0214:02:25转换为日期 解决方案非常简单,但我没有得到正确的输出 代码是: try { Date thedate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr); System.out.println(thedate); } catch (ParseException e1) { e1.printStackTrace(); } 输出为:

我想将字符串dateStr=2013-12-0214:02:25转换为日期

解决方案非常简单,但我没有得到正确的输出

代码是:

try {
Date thedate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr);                  System.out.println(thedate);
} catch (ParseException e1) {
e1.printStackTrace();
}
输出为:Sun Dec 02 14:02:25 GMT+03:00 2013

更新:


我想要的是得到与字符串相同的格式。

您的代码正确地格式化了日期。它获取一个字符串并将其解析为最新。当您打印日期时,java使用方法

如果要以特定格式打印,则需要使用另一种或相同的模式(如果模式相同)SimpleDataFormat和call format方法。

使用以下方法:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(thedate));
我刚试过这个:

String str = "2013-12-02 14:02:25";
    try {
        Date thedate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str);
        System.out.println(thedate);
        Calendar cal = Calendar.getInstance();
        cal.setTime(thedate);
        System.out.println("-->"+cal.get(Calendar.DATE)+"::"+(cal.get(Calendar.MONTH)+1)+":"+cal.get(Calendar.YEAR));
    } catch (java.text.ParseException ex) {
        Logger.getLogger(Search.class.getName()).log(Level.SEVERE, null, ex);
    }
产量为: ->2:12:2013


这就是你想要的吗?

如果你想以相同的格式输出,只需使用SimpleDataFormat设置输出格式即可

你喜欢这样吗

SimpleDateFormat df = nnew SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse("2013-12-02 14:02:25");
String formattedDate = df.format(date);
System.out.println(formattedDate);
请尝试以下简单代码:


问题出在哪里?输出是正确的…告诉我们您希望输出是什么样子的,更重要的是,您如何获得该输出。仅仅打印日期,而没有格式化程序,会让人失望。你期待什么?str和dateStr是两个不同的变量Date对象的目的是保存日期,而不是以指定的格式打印日期,尤其是当它只有一个toString方法,只能以一种格式打印日期时。要生成以指定格式表示日期的字符串,请使用SimpleDataFormatDate。我正要编写相同的Anshy时区?我需要格式yyyy-MM-dd HH:MM:ss作为输出。您得到的是星期日,我得到的是星期一-因此,请分别检查时区…如果要打印日期,请编辑答案。使用日历对象并按您的意愿打印日期
SimpleDateFormat df = nnew SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = df.parse("2013-12-02 14:02:25");
String formattedDate = df.format(date);
System.out.println(formattedDate);
String date_time= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());