I'm trying to compare the current time with a specific time in React Native by using JavaScript but it's not working with this method that i have tried. This is how i have tried it:
export default function SettingsComponent() {
let today = new Date();
let currentTime = today.toLocaleTimeString();
useEffect(() => {
console.log(currentTime)
if(currentTime == "12:39:30"){
console.log('Comparison is working')
}
})
}
If there are any other suggestions to do this, let me know!
CodePudding user response:
You can make this work by passing argument(s) to toLocalTimeString
so to guarantee the format you get from it. For instance, you could specify a locale that uses the hh:mm:ss format:
today.toLocaleTimeString("en-SE")
Secondly, you should realise that you only have 1 second to have a match. One can imagine how some latency can make you miss a match, and the code only gets executed just after that second passed.
CodePudding user response:
Likely your useEffect is running before the currentTime is set. Try adding the currentTime to the useEffects dependency array.
useEffect(() => {
console.log(currentTime)
if(currentTime == "12:39:30"){
console.log('Comparison is working')
}
}, [currentTime])