如何用JavaScript从input time的hh:mm格式中提取小时与分钟?
解决方法:从
hh:mm格式字符串提取小时和分钟 getHours()和getMinutes()是Date对象专属方法,而<input type="time">返回的time参数是纯字符串,直接调用这些方法自然无效。下面提供两种可行的实现方式:
方法一:字符串分割(最直接高效)
利用冒号:分割字符串,将分割后的两部分转为数字即可:
function timePassed(time) { var hours; var mins; // 按冒号分割时间字符串 const timeParts = time.split(':'); // 转为整数类型 hours = parseInt(timeParts[0], 10); mins = parseInt(timeParts[1], 10); // 可添加测试输出验证结果 console.log('提取的小时:', hours, '提取的分钟:', mins); }
方法二:转为Date对象调用目标方法
如果一定要使用getHours()和getMinutes(),可以把时间字符串拼接成合法的日期格式,再转为Date对象:
function timePassed(time) { var hours; var mins; // 拼接成完整日期字符串(日期部分填任意有效日期即可) const dateStr = `2024-01-01T${time}`; const date = new Date(dateStr); // 调用Date对象的方法提取时间 hours = date.getHours(); mins = date.getMinutes(); // 可添加测试输出验证结果 console.log('提取的小时:', hours, '提取的分钟:', mins); }
内容的提问来源于stack exchange,提问作者yuriyu
相关产品推荐
相关产品推荐

