我在“2015年6月29日星期一”这个格式约会。我想以“2015-06-29”这种格式更改此日期格式。
答案 0 :(得分:0)
如果您有一个包含日期的字符串,您想要转换,请使用以下内容:
String dateString = "Monday 29th June 2015";
//the output format
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
//the input format of the original date
date = new SimpleDateFormat("EEEE dd MMMM yyyy")
.parse(dateString);
Log.e("result date", "Date:" + simple.format(date));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 1 :(得分:0)
在你的日期“2015年6月29日星期一”使其无法解析,所以我认为你应该删除它并尝试解析你的日期
String dateString = "Monday 2nd June 2015";
String str[] = dateString.split(" ");
str[1] = str[1].replaceAll("rd","");
str[1] = str[1].replaceAll("th","");
str[1] = str[1].replaceAll("st","");
str[1] = str[1].replaceAll("nd","");
dateString = str[0]+" "+str[1]+" "+str[2]+" "+str[3];
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
Date date;
try {
date = new SimpleDateFormat("EEEE dd MMMM yyyy").parse(dateString);
System.out.println(" Date:" + simple.format(date));
} catch (Exception e) {
System.out.println(e.getMessage());
}
在我的代码中,我假设您的日期为字符串值,其中包含所有月份日期的2位数字,例如
“2015年6月1日星期一”
如果它不是那样你必须将你的日期值转换为2位数字或更改我的解析逻辑以从月份之日删除st或rd等
希望它会有所帮助:)
答案 2 :(得分:-1)
类似的东西,
Date d = new Date(old);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date=sdf.format(d);