I have a string in the format below:
yyyy-mm-dd hh:mm
This string is based on the timezone on the client browser. I need to convert this to a string showing the time in UTC.
I can calculate how many hours the offset is using:
new Date().getTimezoneOffset() / 60
Which is fine if the time doesn't take it back by a day (eg. if there's a -2 hour offset to apply to a 1am time).
What would be the best way to achieve this?
With this code you could convert the date strings on client side to corresponding UTC time.
let now = new Date() // Thu Oct 28 2021 15:31:17 GMT+0200
// this Date in your given format would be >>
let dateStr = '2021-10-28 15:31'
let utcDate = new Date(dateStr).toUTCString()
console.log(utcDate) // Thu, 28 Oct 2021 13:31:00 GMT << -02:00 to my local time above
let isoDate = new Date(dateStr).toISOString()
console.log(isoDate) // 2021-10-28T13:31:00.000Z << better format for storing dates