Предполагая, что форматы времени (не данные часового пояса, а просто текстовые строки, представляющие время в 12-часовом формате), как лучше всего анализировать эти данные (примеры ниже)?
Я чувствую, что это довольно простой вопрос, но я много думал об этом и не могу найти надежный процесс для разбора значений hour
и minute
из любого из много временных "форматов".
Я использую простую форму, которая позволяет вводить время (например, время бронирования), но нет никакого способа сделать поле формы (Google Forms, ограниченная возможность настройки) каким-либо другим, кроме обычного текста, который допускает любое формат времени, с которым человек хочет поместить жизнеспособную часть данных для работы. Вот несколько примеров времени, которое можно ввести:
1 P // hours would be 13, minutes would be 0
3:15 P.M. // hours would be 15, minutes would be 15
4 P.M // hours would be 16, minutes would be 0
8:30 a // hours would be 8, minutes would be 30
10:45 aM. // hours would be 10, minutes would be 45
12:00 Pm // hours would be 12, minutes would be 0
Это всего лишь некоторые примеры. Не стесняйтесь исправлять теги, если я не в той теме (темах), однако для этого я использую Google Apps Script/Javascript.
Я подумал о создании пары строк регулярных выражений для поиска определенных форматов (написание которых, я уверен, займет у меня некоторое время, поскольку я никогда раньше не писал их).
Я также подумал о поиске символа «:» и символа «a»/«A» или «p»/«P» для определения необходимости добавления +12 часов. После получения такой информации проблема может быть решена путем усечения разделов типа «pm», а затем split(":")
для получения правильных чисел.
Я чувствую, что первый подход намного более стабилен, но второе решение может быть проще. Я не уверен, что есть лучший способ, это два метода, которые мог бы придумать мой ум программиста n00b.