我有一个日期的两个字符串(使用当前年份):
根据这些数据,我希望这个格式的字符串日期为:Tuesday July 15
这可能吗?
我正在尝试使用此代码,但它不起作用:
public void dateFormatMoth(String day, String month){
Date date = null;
String newDateStr="";
String dateReceived="day/month";
SimpleDateFormat fromUser = new SimpleDateFormat("dd/MM");
SimpleDateFormat myFormat = new SimpleDateFormat("EEEE-MM-dd");
try {
reformattedStr = myFormat.format(fromUser.parse(dateReceived));
} catch (ParseException e) {
e.printStackTrace();
}
Log.d(LOG_TAG,"day formatted"+newDateStr);
}
答案 0 :(得分:1)
只需稍微更改myFormat
即可实现此目的。 MM
会给你一个月号,MMMM
会给你全名:
public void dateFormatMonth(String day, String month) throws ParseException {
SimpleDateFormat fromUser = new SimpleDateFormat("dd/MM");
SimpleDateFormat myFormat = new SimpleDateFormat("EEEE MMMM dd", Locale.US);
try {
reformattedStr = myFormat.format(fromUser.parse(day + "/" + month));
} catch (ParseException e) {
e.printStackTrace();
}
Log.d(LOG_TAG,"day formatted"+newDateStr);
}
您可以在JavaDoc中了解有关不同格式的更多信息。
请注意,我明确指定了区域设置,以确保无论机器的区域设置如何都能获得所请求的输出。
答案 1 :(得分:0)
尝试:
public static String format(String input_date, String input_format, String output_format) {
SimpleDateFormat simple_date_input_format;
SimpleDateFormat simple_date_output_format;
simple_date_input_format = new SimpleDateFormat(input_format, Locale.US);
simple_date_output_format = new SimpleDateFormat(output_format, Locale.US);
try {
Date input_date_formatted = simple_date_input_format.parse(input_date);
output_date_formatted = simple_date_output_format.format(input_date_formatted);
} catch (ParseException e) {
output_date_formatted = null;
e.printStackTrace();
}
return output_date_formatted;