Я поддерживаю общую библиотеку на работе, которая выполняет много проверок заданной строки, чтобы увидеть, является ли это допустимой датой. У Java API, библиотеки Commons-Lang и Jodatime есть методы, которые могут проанализировать строку и превратить ее в дату, чтобы сообщить, на самом деле это действительная дата или нет, но я надеялся, что будет способ выполнять проверку без фактического создания объекта даты (или DateTime, как в случае с библиотекой Jodatime). Например, вот простой кусок примеров кода: < /p>
public boolean isValidDate(String dateString) {
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
try {
df.parse(dateString);
return true;
} catch (ParseException e) {
return false;
}
}
< /code>
Это мне кажется расточительным, мы выбрасываем полученный объект. Из моих тестов около 5% нашего времени в этой общей библиотеке тратится на проверку дат. Я надеюсь, что я просто упускаю очевидный API. Любые предложения были бы великолепны! Один и тот же формат даты всегда (вероятно, yyyymmdd). Я также думал об использовании корпорации, но тогда он должен быть осведомлен о количестве дней в каждом месяце, легочных годах и т. Д. < /p>
Результаты < /strong> < /p>
Проанализировал дату 10 миллионов раз < /p>
Using Java's SimpleDateFormat: ~32 seconds
Using commons-lang DateUtils.parseDate: ~32 seconds
Using JodaTime's DateTimeFormatter: ~3.5 seconds
Using the pure code/math solution by Slanec: ~0.8 seconds
Using precomputed results by Slanec and dfb (minus filling cache): ~0.2 seconds
< /code>
Были некоторые очень творческие ответы, я ценю это! Я думаю, что теперь мне просто нужно решить, какую гибкость мне нужно, как я хочу, чтобы код выглядел. Я собираюсь сказать, что ответ DFB правильный, потому что он был чисто самым быстрым, что было моим первоначальным вопросом. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/114 ... valid-date
Самый быстрый способ определить, является ли строка действительной датой ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как проверить, является ли строка действительной датой, времени или dateTime
Anonymous » » в форуме Php - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Правильно определить, является ли строка даты допустимой датой в этом формате.
Anonymous » » в форуме Php - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Самый быстрый/самый быстрый способ конвертировать фреймы данных pandas в таблицы слов
Anonymous » » в форуме Python - 0 Ответы
- 57 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как определить входной html -элемент с типом = "датой" и форматом "dd/mm/yyyy"
Anonymous » » в форуме Html - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-