Java日期格式转换

时间:2017-01-07 04:42:32

标签: java android mysql date date-conversion

在我的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();
     }
});

3 个答案:

答案 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}}