Home > Blockchain >  Compare current time with a specific time in a if statement
Compare current time with a specific time in a if statement

Time:04-29

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])
  • Related