'Converting UTC to Pacific time using Moment Timezone (javascript)

I am trying to set "formattedLocalTime" to the Pacific time and my 4 lines of code look as below.

Though the chrome debugger displays "locTime" as "Tue Sep 30 2014 16:17:25" which is the correct value I expect, the formattedLocalTime in the last line is "09/30/2014 11:17 pm" which is UTC time and not the timezone I have set (America/Los_Angeles) which should be "09/30/2014 4:17 pm" (4:17 instead of 11:17)

Would highly appreciate any suggestions.

var timestamp = 1412144245453;                      // Tue Sep 30 2014 23:17:25
var utc = moment.tz(timestamp, "Etc/UTC");          // Tue Sep 30 2014 23:17:25 (displayed in chrome debugger)
var locTime = utc.clone().tz("America/Los_Angeles"); // Tue Sep 30 2014 16:17:25 (displayed in chrome debugger)
var formattedLocalTime = moment(locTime).format("MM/DD/YYYY h:mm a")


Solution 1:[1]

try to use:

var formattedLocalTime = locTime.format("MM/DD/YYYY h:mm a")

if you write moment(locTime) then your datetime will be converted back to local time

Solution 2:[2]

Use: moment-timezone - TypeError: moment().tz is not a function

const moment = require('moment-timezone');
const time = moment.tz(1412144245453, 'America/Los_Angeles').format('MM/DD/YYYY h:mm a');
console.log("time : ", time);

Output: time : 09/30/2014 11:17 pm

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 Marian Ban
Solution 2 Sahil Thummar