日期冲突(java.util.Date)

时间:2016-05-26 12:35:03

标签: java java.util.date

在我们的项目中,我遇到了一个问题

Date date = new Date();

转换为字符串

String dateToString = date.toString();

我想再次将相同的字符串(dateToString)转换为实用日期。

任何解决方案?

一些代码段:

    Date todayDate = new Date();
    String dateToString = todayDate.toString();
    System.out.println(dateToString);
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM hh:mm a YYYY");
    Date stringToDate = new Date("05/26/2016");
    System.out.println(stringToDate);

输出是:     5月26日星期四18:12:58 IST 2016     2016年5月26日00:00:00 IST 2016 这里第二个输出而不是0,我需要准确的时间。就是这样。

3 个答案:

答案 0 :(得分:1)

使用Date.valueOf(dateToString)

答案 1 :(得分:0)

您需要使用日期格式,以便您可以预测能够将其解析回来:

java.text.DateFormat format = new java.text.SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy");
String dateToString = format.format(date);

//And to parse it back to date:
Date parsedDate = format.parse(dateToString);

此代码使用一种格式将日期作为字符串写入,您可以从java.text.DateFormat的JavaDocs开始阅读更多相关信息。相同的格式对象用于将字符串转换回日期。

唯一的共同点是用于将日期作为字符串写入的格式。

答案 2 :(得分:0)

让我们尝试这种方式,我希望

String DATE_FORMAT_NOW = "dd MMM hh:mm:ss yyyy";
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
String stringDate = sdf.format(date );
System.out.println("FirstDate : "+stringDate);
try {
    Date date2 = sdf.parse(stringDate);
    System.out.println(date2);
    } catch(ParseException e){
      //Exception handling
       } catch(Exception e){
         //handle exception
       }