在Android中处理不同的日期格式

时间:2018-08-19 14:26:47

标签: android date calendar

当前正在使用此库Calendar Library。我现在面临的问题是,单击日历中的日期视图时返回的日期以各种格式返回日期,例如“ dd MMM yyyy”,“ MMM dd,yyyy”等。我需要将格式日期设置为“ yyyy-MM-dd”。如何使用简化的方式处理此问题?

目前,我已经处理了两种情况,但是在其他以不同格式返回日期格式的设备中却发生了错误。

   public static String getFormattedDate_event(String normal_date) {
        String anni = normal_date;
        String formated_date = "";
        if (anni.length() > 6) {
            SimpleDateFormat originalFormat = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH);
            SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date;
            try {
                date = originalFormat.parse(anni);
                formated_date = targetFormat.format(date);
            } catch (ParseException e) {
                //When the Exception is happening trying to parse for another different date format
                if (anni.length() > 6) {
                    SimpleDateFormat originalFormat1 = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
                    SimpleDateFormat targetFormat1 = new SimpleDateFormat("yyyy-MM-dd");
                    Date date1;
                    try {
                        date1 = originalFormat1.parse(anni);
                        formated_date = targetFormat1.format(date1);
                    } catch (ParseException e1) {
                        e1.printStackTrace();
                    }
                } else {
                    formated_date = anni;
                }
            }
        } else {
            formated_date = anni;
        }
        return formated_date;
    }

日历图书馆的返回日期在这里

 @Override
        public void onDateSelected(@NonNull MaterialCalendarView widget, @NonNull CalendarDay date, boolean selected) {
            selected_date_clicked = EdUtils.getFormattedDate_event(FORMATTER.format(date.getDate()));
            getEventsByDate();
        }

0 个答案:

没有答案