在我们的项目中,我遇到了一个问题
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,我需要准确的时间。就是这样。
答案 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
}