日期冲突(java.util.Date)

Date Conflicts(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 5 月 26 日星期四 00:00:00 IST 2016 这里是第二个输出而不是 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 开始阅读更多相关信息。相同的格式对象用于将字符串转换回日期。

唯一的共同点是将日期写成字符串的格式。

使用Date.valueOf(dateToString).

让我们尝试这种方式,我希望你会得到

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
       }