2013-10-10 3 views
0

Я ищу библиотеку, которая может анализировать время с данного пользовательского ввода. Правильные временные форматы: hh: mm, НО, возможно, это может быть AM или PM в конце, чтобы указать, является ли это 12-часовой или 24-часовой формат.Как разобрать время, когда я не знаю точный формат? 12h или 24h

Результат, который я хочу достичь, - это получить время и объединить его с предопределенной датой (без времени). Наше приложение должно анализировать время, не зная точную культуру пользователя. Кроме того: Существуют ли другие подходящие временные форматы?

Я пробовал moment.js, но не повезло. Это будет почти нормально, но мне нужно будет вручную проверить, введен ли пользователь am/pm или нет.

Некоторые подробнее:

Пользователь может ввести: "8:36 PM", "8:36", "14:00". Все эти значения должны быть проанализированы для хранения времени в формате 24h.

Когда пользователь вводит «14:00 PM» разборе должен терпеть неудачу (я должен показать ошибку проверки)

Я знаю, что я мог разобрать это каким-то регулярным выражением или СТГ, но там не должно быть какой-либо готов к работе библиотек ?

+0

Как вы получаете время от пользователя? Возможно, заставляйте их входить в то время, которое вы ** хотите. –

+0

Я хочу иметь 24-часовой формат. Но я также хочу терпеть пользователей, которые входят в 12-часовой формат с AM/PM (почему бы и нет) – mbudnik

+0

Потому что, если они вводят «6:00» без добавления AM или PM, вы не знаете, какой из них они имеют в виду. Вы должны заставить их указать один формат или другой. – Blazemonger

ответ

1

Вы можете посмотреть в momentjs http://momentjs.com/, который отлично подходит для быстрого анализа DateTimes. Проблема в том, что если вы разрешаете ввод как 24-часового, так и 12-часового интервалов, нет ничего, что помешало бы кому-то ввести 12-часовой интервал времени в течение полудня, если вы не потребуете ввода AM или PM.

Смежные вопросы