我正在尝试将格式化为24小时的时间字符串转换为12小时。为此,我创建了一个重新格式化然后渲染它的函数。但是,当我将函数内联像<span>{times && this.renderTime(times.StartTime)}</span>
放在正确的位置时,没有任何运行。
但是,当我在测试按钮上放置相同的功能时,它将运行并记录我新格式化的文本。例如,15:41
到3:41 PM
。
renderTime = time => e => {
const hours = time.split(':')[0];
const minutes = time.split(':')[1];
let currentTime;
if (+hours === 0) currentTime = `12:${minutes} AM`;
else if (+hours < 10 && +hours > 0) currentTime = `${hours.split('')[1]}:${minutes} AM`;
else if (+hours <= 11 && +hours > 9) currentTime = `${hours}:${minutes} AM`;
else if (+hours === 12) currentTime = `12:${minutes} PM`;
else currentTime = `${hours-12}:${minutes} PM`;
console.log(currentTime);
return <p>{currentTime}</p>
}
为什么此功能不会在文本
中运行答案 0 :(得分:2)
你的函数正在返回一个函数 - 更改
time => e =>
到
time =>