reactjs - 在 React 中将字符串时间转换为 12 小时格式
问题描述
我已将放映时间作为参数传递,我想将其转换为 12 小时格式,以下是我的代码
componentDidMount() {
let movieInfo = queryString.parse(this.props.location.search)
console.log(movieInfo.movieid)
this.setState(movieInfo)
console.log(movieInfo.name)
movieData = movieInfo
}
我的网址:是 http://localhost:3000/#/seat-booking?showtimes= 2130
我想将“ 2130 ”转换为9.30 PM。有什么建议么??
解决方案
可能是这样的。
这假定s
是 3 个字符 ( 930
) 或 4 个字符 ( 2130
),但绝对没有其他验证。
function militaryTimeTo12Hour(s) {
if(s.length == 3) s = `0${s}`; // 930 -> 0930
const hour = parseInt(s.substring(0, 2), 10);
const min = parseInt(s.substring(2, 4), 10);
if(hour < 12) return `${hour % 12}:${min} AM`;
return `${hour % 12 || 12}:${min} PM`;
}
> militaryTimeTo12Hour("1230")
"12:30 PM"
> militaryTimeTo12Hour("2130")
"9:30 PM"
> militaryTimeTo12Hour("330")
"3:30 AM"
> militaryTimeTo12Hour("zquz")
"12:NaN PM"
> militaryTimeTo12Hour("3314")
"9:14 PM"
> militaryTimeTo12Hour("-799")
"-7:99 AM"
推荐阅读
- python - 如何在 Python 中使用 if 语句时检查 NaN 值
- reactjs - Firebase Auth Apple Sign In for Web“INVALID_CLIENT”错误?
- ios - 如何通过 AVPlayer 快速播放 avi 格式的视频
- firebase - Cloud Firestore 不等式运算符异常颤动
- javascript - Monaco Editor (TypeScript):用更多按钮/链接/动作装饰 JSDoc 或 TSDoc
- curl - 查询 Instagram 基本显示 API 的用户节点故障
- flutter - 检测窗口关闭动作颤动桌面
- mysql - Mysql 错误 - 命令不同步;您现在无法运行此命令 - 邮递员错误 - codeigniter
- python - How to search and copy an item given the ID in a large json file
- javascript - 制表器仅在使用 CDNJS 导入时才有效