new Date().toLocaleTimeString 无法正常工作



在23:59:59和01:00:00 之间new Date().toLocaleTimeString()出现问题

const currentTimeString = new Date().toLocaleTimeString("en-US", {
hour12: false
});
const MyComponent= ({curr}) => {
const [time, setTime] = useState({
start: "00:00:00",
end: curr
});
useEffect(() => {
getResults(time.start, time.end)
);
}, [time]);
const handleChangeTime = e => {

setTime({ ...time, [e.target.name]: e.target.value });
};
return(<>
<input
type="time"
name="start"
onChange={handleChangeTime}
value={time.start}
placeholder="00:00:00"
step={10}              
/> 
</>)

}

23:59:59之后,我会得到类似24:00:00的状态下的时间,并且时间输入在01:00:00之前是这样的(例如,而不是00:53:45,它显示的是24:53:45(

01:00:00之后,它正常工作。如何解决此问题?谢谢

您可以使用en-GB(英国英语(,而不是使用en-US,默认情况下为24小时格式:

const time = new Date('2020/09/02 00:24:36');
console.log(time.toLocaleTimeString('en-GB'));

最新更新