你好 苹果12 iOS 14.2也复现了,选择上午12:00,e.detail.value中的值为00:00,这个要怎么解决
关于组件picker mode = time 时间选择器返回结果格式问题[图片] 部分ios系统手机,通过日志查看,可复现机型包括: 1."model":"iPhone 13 Pro<iPhone14,2>","system":"iOS 15.5" 2."model":"iPhone X (GSM+CDMA)<iPhone10,3>","system":"iOS 15.4" 还包括iPhone 11 Pro max,iPhone 12 Pro max,iPhone 13 Pro max等部分机型 当ios手机把手机日期格式设置成12小时制时, [图片][图片] 返回结果是:下午3:39,上午10:47 不是预期的 "hh:mm" 格式, [图片][图片] 其中上午12点是指凌晨,这个问题存在了很长时间了,最近才得到重视,复现到了这个问题, /** * 处理时间格式 * @param { string } time 时间 */ timeFormatProcessing(time) { // 补零 const formatNumber = n => { n = n.toString() return n[1] ? n : '0' + n }; var newTime, timeArr; if (time.includes('上午')) { // 判断是否存在上午字段 newTime = time.replace('上午', ''); // 清除上午字段 timeArr = newTime.split(':'); // 分割 // 处理上午12点是凌晨的问题 if(+timeArr[0] == 12){ timeArr[0] = 0; } // 格式化时间并返回 return `${timeArr.map(formatNumber).join(':')}:00` } else if (time.includes('下午')) { // 判断是否存在上午字段 newTime = time.replace('下午', ''); // 清除上午字段 timeArr = newTime.split(':'); // 分割 // 处理下午时间的问题,下午12点不用处理 if(+timeArr[0] < 12){ timeArr[0] = +timeArr[0] + 12; } // 格式化时间并返回 return `${timeArr.map(formatNumber).join(':')}:00` } else { // 正常 "hh:mm" 格式,返回 return `${time}:00`; } }, 这是我临时写的处理方式,希望广大网友指正。 同时希望可以得到官方说明。
2022-09-09