user12763413
user12763413

Reputation: 1349

Convert UTC to current timezone in javascript

I have time as 2023-02-01T17:00:22.127Z which is in UTC. I want to convert this to the timezone of the user from where user is logged in. How can I do this using javascript?

I was trying to use https://yarnpkg.com/package/jstz but couldn’t use a way to convert the time. Please help resolve this issue

Upvotes: 0

Views: 896

Answers (1)

Peter Thoeny
Peter Thoeny

Reputation: 7616

Here is a function that converts a UTC date string to a local browser date string with format YYYY-MM-DD hh:MM:

function getLocalDateString(utcStr) {
  const date = new Date(utcStr);
  return date.getFullYear()
    + '-' + String(date.getMonth() + 1).padStart(2, '0')
    + '-' + String(date.getDate()).padStart(2, '0')
    + ' ' + String(date.getHours()).padStart(2, '0')
    + ':' + String(date.getMinutes()).padStart(2, '0');
}

console.log({
  '2023-02-01T00:55:22.127Z': getLocalDateString('2023-02-01T00:55:22.127Z'),
  '2023-02-01T17:00:22.127Z': getLocalDateString('2023-02-01T17:00:22.127Z')
});

Ouput in my timezone:

{
  "2023-02-01T00:55:22.127Z": "2023-01-31 16:55",
  "2023-02-01T17:00:22.127Z": "2023-02-01 09:00"
}

Upvotes: 1

Related Questions