javascript - 如何解析时间? (Javascript)

标签 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"]

最佳答案

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

关于javascript - 如何解析时间? (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54275138/

相关文章:

mysql - 什么类型的列支持带偏移量的日期时间?

python - 使用 Flask 的 jsonify 时,将 datetime.date 保留为 'yyyy-mm-dd' 格式

date - 在 GNU Octave 中,获取日期和时间

javascript - 如何在 Javascript 中将(年、月、日)转换为扩展年份日期格式并处理 0 到 99 年

c - 时间结构使用

json - 如何将 NullTime 格式化为人类可读的格式,如 HH :MM:SS

javascript - 最大宽度和最大高度未按预期工作

javascript - 无法在其他函数中访问 this.state

javascript - 在 Angular 中注入(inject)$window,有什么用?

javascript - JSON.stringify 返回 {} 即使有替换器