如何解析时间? (JavaScript)

时间:2019-01-20 09:33:05

标签: javascript datetime time

在表格中,用户必须手动输入时间数据。不幸的是,前端开发人员忘了验证日期输入。因此,用户写的时间没有标准格式。 我有一系列不同格式的时间。这是一个示例

["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 :(得分:2)

您可以使用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>