在我的Android应用程序中,我需要将日期从'2017年1月20日'转换为'19 -1-2017'。日期从'19 -1-2017'格式的日期选择器中选择并存储在MySQL数据库中作为'2017年1月20日'。当我从数据库中取日期值时,我需要将日期“2017年1月20日”格式转换回“19-1-2017”。 有没有办法做到这一点? 提前致谢。 请帮忙。
datepicker代码
edit_meeting_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final Calendar c=Calendar.getInstance();
mYear=c.get(Calendar.YEAR);
mMonth=c.get(Calendar.MONTH);
mDay=c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog=new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int monthofYear, int dayofMonth) {
System.out.println("dayofMonth :"+dayofMonth+"\nmonthofYear : "+(monthofYear+1)+"\nyear : "+year);
edit_meeting_date.setText(dayofMonth+"-"+(monthofYear+1)+"-"+year);
}
},mYear,mMonth,mDay);
datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());
datePickerDialog.show();
}
});
答案 0 :(得分:1)
您可以使用convertDate函数,并可以使用任何类型的日期格式。
public static String ConvertDate(String current_format, String date, String new_format) {
try {
SimpleDateFormat sdf_current = new SimpleDateFormat(current_format);
SimpleDateFormat sdf_new = new SimpleDateFormat(new_format);
Date get_date = sdf_current.parse(date);
return sdf_new.format(get_date);
} catch (Exception e) {
e.printStackTrace();
return "Error:" + e.getMessage();
}
}
示例:
ConvertDate("MMM dd yyyy HH:mm:ss","Jan 10 2017 20:20:20","MMM dd yyyy");
答案 1 :(得分:0)
使用 SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
Date formattedDate = formatter.parse(dateFromDb);
答案 2 :(得分:0)
您可以使用SimpleDateFormatter格式化java日期:
{{1}}