Android SImpleDateFormat не работает для "гггг -..."

Когда я пытаюсь переименовать файл, используя дату последнего изменения, он не работает при использовании dateformat ="yyyy-MM-dd_HH;mm" например.

Когда я использую:

dateformat = "dd-MM-yyyy_HH;mm;ss"
dateformat ="dd-MM-yyyy_HH;mm"
dateformat ="MM-dd-yyyy_HH;mm"

он работает отлично, но при попытке использовать год в качестве первого параметра он не будет переименовывать файлы.

        if (rb1.isChecked()) {
            dateformat = "dd-MM-yyyy_HH;mm;ss";
        } else if (rb2.isChecked()) {
            dateformat = "dd-MM-yyyy_HH;mm";
        } else if (rb3.isClickable()) {
            dateformat = "MM-dd-yyyy_HH;mm";
        } else if (rb3.isClickable()) {
            dateformat = "yyyy-dd-MM_HH;mm";
        } else if (rb4.isChecked()) {
            dateformat = "yyyy-MM-dd_HH;mm";
        }
        else if (rb5.isChecked()) {
            dateformat = new SimpleDateFormat("yyyy-dd-MM_HH;mm")
                    .format(new Date());
        } else if (rb6.isChecked()) {
            dateformat = new SimpleDateFormat("yyyy-MM-dd_HH;mm;ss")
                    .format(new Date());
        }

Я не должен был использовать.isCickable, но.isChecked.....

1 ответ

Решение

Использовать этот..

String timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH;mm;ss").format(new Date());

Обновление: замените следующий фрагмент кода...

    if (rb1.isChecked()) {
        dateformat = "dd-MM-yyyy_HH;mm;ss";
    } else if (rb2.isChecked()) {
        dateformat = "dd-MM-yyyy_HH;mm";
    } else if (rb3.isClickable()) {
        dateformat = "MM-dd-yyyy_HH;mm";
    } else if (rb3.isClickable()) {
        dateformat = "yyyy-dd-MM_HH;mm";
    } else if (rb4.isChecked()) {
        dateformat = "yyyy-MM-dd_HH;mm";
    }

    else if (rb5.isChecked()) {
        dateformat = new SimpleDateFormat("yyyy-dd-MM_HH;mm")
                .format(new Date());
    } else if (rb6.isChecked()) {
        dateformat = new SimpleDateFormat("yyyy-MM-dd_HH;mm;ss")
                .format(new Date());
    }
    SimpleDateFormat formatter = new SimpleDateFormat(dateformat);
    String formattedDateString = formatter.format(lastModDate);
    newimgname = formattedDateString + ".jpg";

С...

if (rb1.isChecked()) {
    dateformat = "dd-MM-yyyy_HH;mm;ss";
} else if (rb2.isChecked()) {
    dateformat = "dd-MM-yyyy_HH;mm";
} else if (rb3.isClickable()) {
    dateformat = "MM-dd-yyyy_HH;mm";
} else if (rb3.isClickable()) {
    dateformat = "yyyy-dd-MM_HH;mm";
} else if (rb4.isChecked()) {
    dateformat = "yyyy-MM-dd_HH;mm";
} else if (rb5.isChecked()) {
    dateformat = "yyyy-dd-MM_HH;mm";
} else if (rb6.isChecked()) {
    dateformat = "yyyy-MM-dd_HH;mm;ss");
}

String formattedDateString = new SimpleDateFormat(dateformat).format(new Date());
newimgname = formattedDateString + ".jpg";
Другие вопросы по тегам