Как применить стиль CSS для каждого отдельного представления в Home Controller

Если вы прочитали документацию, то есть javadoc из parse , вы увидите:

Проводит текст с начала данной строки, чтобы произвести свидание. Метод может не использовать весь текст данной строки.

Подробнее см. Метод parse(String, ParsePosition) .

Javadoc другого метода говорит:

Параметры:

source - Строка даты / времени, подлежащая анализу

pos - на входе - позиция, в которой начнется синтаксический анализ; на выходе, позиция, в которой завершился синтаксический анализ, или начальная позиция, если синтаксический анализ не был выполнен.

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

Это также имеет положительный эффект от использования исключений для потока управления .

private static boolean isDate(String val) {
    String trimmedVal = val.trim();

    //These are the only formats dates will have
    String[] formatList = {"MM/dd/yyyy", "MM-dd-yyyy", "MMM/dd/yyyy", "dd-MMM-yyyy"};
    SimpleDateFormat dateFormat = new SimpleDateFormat();
    dateFormat.setLenient(false);

    ParsePosition pos = new ParsePosition(0);
    for (String str : formatList) {
        pos.setIndex(0);
        dateFormat.applyPattern(str);
        dateFormat.parse(trimmedVal, pos);
        if (pos.getIndex() == trimmedVal.length())
            return true; // full text parsed without error
    }
    return false;
}

Тест

System.out.println(isDate("12/31/2018"));
System.out.println(isDate("12-31-2018"));
System.out.println(isDate("Dec/31/2018"));
System.out.println(isDate("31-Dec-2018"));
System.out.println(isDate("4/05/2013"));
System.out.println(isDate("4/05/2013 23:54"));

Выход

true
true
true
true
true
false

1
задан derloopkat 18 January 2019 в 20:29
поделиться