Как разобрать время? (Javascript) - PullRequest
0 голосов
/ 20 января 2019

В форме пользователи должны вводить данные времени вручную.К сожалению, разработчик внешнего интерфейса забыл подтвердить ввод даты.Поэтому пользователи пишут время без стандартного формата.У меня есть массив времени с разным форматированием.Вот пример

["7am", "17:30", "04h50", "3.30am", "3pm30","03pm30","08:30 am", "5h00", "2h30", "5pm", "8:15"]

Есть ли способ ( или библиотека ), который преобразует эти входные данные в стандартный формат времени Javascript?

["07:00 am", "05:30 pm", "04:50 am", ... "08:15 am"]

1 Ответ

0 голосов
/ 20 января 2019

Вы можете использовать momentjs и передавать массив с возможными форматами.Лучше всего было бы исправить интерфейс.Например, есть время ввода для входных данных.

const dates = ["7am", "17:30", "04h50", "3.30am", "3pm30","03pm30","08:30 am", "5h00", "2h30", "5pm", "8:15"];

const parsed = dates.map(d => moment(d, ['ha', 'h:mm', 'h[h]mm', 'h.mma', 'hamm']))
                    .forEach(e => console.log(e.format('h:mm a')));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment-with-locales.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...