Convert Unix Time to Local or Other Timezone in JavaScript

This tutorial explains how to convert Unix Time to local time or any other timezone in JavaScript using the Date object and its methods, With this guide.

To convert Unix Time to Local Time in JavaScript, you can use the built-in Date object and its methods. Here's an example code snippet:

 // Unix Time in seconds
const unixTime = 1647411600;

// Create a new Date object using the Unix Time
const date = new Date(unixTime * 1000);

// Format the date as a string in the local timezone
const localTimeString = date.toLocaleString();

console.log(localTimeString);

In this example, we start by defining the Unix Time in seconds. We then create a new Date object using the Unix Time by multiplying it by 1000 (since JavaScript Date objects use milliseconds).

Finally, we format the date as a string in the local timezone using the toLocaleString() method on the Date object. The output format of toLocaleString() may vary depending on the system settings.

Note that the local timezone is determined by the timezone setting of the device or browser where the code is running. If you need to convert the Unix Time to a specific timezone, you can use the approach described in my previous answer and replace the target timezone offset with the local timezone offset.

To convert Unix Time to another timezone with a name in JavaScript, you can use the toLocaleString() method on the Date object. Here's an example code snippet:

 // Unix Time in seconds
const unixTime = 1647411600;

// Create a new Date object using the Unix Time
const date = new Date(unixTime * 1000);

// Define the target timezone
const targetTimezone = 'America/New_York';

// Format the date as a string in the target timezone
const targetTimeString = date.toLocaleString('en-US', { timeZone: targetTimezone });

console.log(targetTimeString);

In this example, we start by defining the Unix Time in seconds and creating a new Date object using it. We then define the target timezone using the IANA Time Zone database name (e.g. America/New_York).

Finally, we format the date as a string in the target timezone using the toLocaleString() method on the Date object. We pass two arguments to toLocaleString(): the locale (in this case, 'en-US') and an options object that includes the timeZone property set to the target timezone.

The output format of toLocaleString() may vary depending on the system settings and locale.