我可以将我的日期格式2014-12-09更改为MMM dd,yyyy(12月09,2014喜欢这个。)但它显示2014年1月9日而不是12月09,2014。如何显示Dec 09,2014? 请指导我。
我的代码是,
String strStartDate = "2014-12-09";
readFormat = new SimpleDateFormat("yyyy-mm-dd");
writeFormat = new SimpleDateFormat("MMM dd,yyyy");
try {
startDate = readFormat.parse(strStartDate);
} catch (ParseException e) {
e.printStackTrace();
}
viewHolder.txtStartDate
.setText(writeFormat.format(startDate));
提前致谢。
答案 0 :(得分:6)
尝试使用以下代码:
String date = "2014-11-25";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date testDate = null;
try {
testDate = sdf.parse(date);
}catch(Exception ex){
ex.printStackTrace();
}
SimpleDateFormat formatter = new SimpleDateFormat("MMM dd,yyyy");
String newFormat = formatter.format(testDate);
System.out.println(".....Date..."+newFormat);
答案 1 :(得分:4)
格式化代码以获取所有日期类型。您需要在参数中传递它的3件事是 dateStr ,dateStr格式是 strReadFormat ,您在输出中所需的堡垒是 strWriteFormat 。
public String getFormattedDate(String dateStr, String strReadFormat, String strWriteFormat) {
String formattedDate = dateStr;
DateFormat readFormat = new SimpleDateFormat(strReadFormat, Locale.getDefault());
DateFormat writeFormat = new SimpleDateFormat(strWriteFormat, Locale.getDefault());
Date date = null;
try {
date = readFormat.parse(dateStr);
} catch (ParseException e) {
}
if (date != null) {
formattedDate = writeFormat.format(date);
}
return formattedDate;
}
Log.v("Changed date",getFormattedDate("2014-11-26", "yyyy-mm-dd", "MMM dd,yyyy"));
答案 2 :(得分:1)
String t = "2014-11-26";
// To parse input string
SimpleDateFormat from = new SimpleDateFormat("yyyy-mm-dd", Locale.US);
// To format output string
SimpleDateFormat to = new SimpleDateFormat("MMMM dd, yyyy", Locale.US);
String res = to.format(from.parse(t));