我想从字符串解析字符串到日期,Date的格式类似于Tuesday March 19,2015
。我想解析并格式化为yyyy-dd-mm
格式。以下代码为我提供了例外情况"无法发布的日期"。
代码:
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
try {
date1 = df1.parse(currentDate);
System.out
.println("============my formated date====================" + date1.toString());
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
cal.add(Calendar.DATE, 10); // add 10 days
date1 = cal.getTime();
System.out.println("==============added date==============" + date1.toString());
答案 0 :(得分:1)
在将其格式化为另一个日期之前,您必须将其解析为当前格式的日期
DateFormat df_parse = new SimpleDateFormat("EEEE MMM dd,yyyy");
Date date_parse = df_parse.format(currentDate);
DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
date1 = df1.parse(date_parse);
答案 1 :(得分:0)
我为转换日期格式创建了一个常用函数。您必须传递旧的日期格式,新的日期格式和日期。
public static String convertDateFormat(String oldFormat, String newFormat, String inputDate)
{
DateFormat theDateFormat = new SimpleDateFormat(oldFormat);
Date date = null;
try
{
date = theDateFormat.parse(inputDate);
}
catch (ParseException parseException)
{
// Date is invalid. Do what you want.
}
catch (Exception exception)
{
// Generic catch. Do what you want.
}
theDateFormat = new SimpleDateFormat(newFormat);
return theDateFormat.format(date).toString();
}
//调用函数
String convertedDate = convertDateFormat("EEEE MMM dd,yyyy","yyyy-MM-dd",dateToConvert);