在表格中,用户必须手动输入时间数据。不幸的是,前端开发人员忘了验证日期输入。因此,用户写的时间没有标准格式。 我有一系列不同格式的时间。这是一个示例
["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"]
答案 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>