'Convert normal string to datetime format

Is there any way to convert normal string 5pm into 2022-04-20T17:00:00.000Z format?

I have got this from backend but Im using timepicker in antd. It only accepts 2022-04-20T17:00:00.000Z format and it is in string format in my DB.



Solution 1:[1]

This should consistently give you the current date with the time attached

function convertToISO(timeString) {
  const [hour12, ampm] = timeString.split(/(?=[ap]m$)/i)
  const hour = hour12 % 12 + (ampm.toLowerCase() === 'pm' ? 12 : 0)
  const date = new Date()
  // Set time, adjusted for time zone
  date.setHours(hour, -date.getTimezoneOffset(), 0, 0)
  return date.toISOString()
}

console.log(convertToISO('5pm'))

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1