I want to display time with 3 different time zone.
eg. Considering "America/Mexico_City" as standard.
**1. "America/New_York" is 1 hr ahead of Mexico_City
But I am getting exactly opposite o/p -> New York showing 1 hr behind && Los Angeles is 2 hrs ahead.
o/p ->
Mexico_City-> normal ->Jun 11, 2018 19:12 PM
New_York-> 1 hr ->Jun 11, 2018 18:12 PM
Los_Angeles-> 2hr ->Jun 11, 2018 21:12 PM
var date = "2018-06-11T14:12:43";
var LastModifiedDate = {
date: date,
tzId: "America/Mexico_City",
tzCode: "PDT"
}
console.log("Mexico_City-> normal ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));
LastModifiedDate = {
date: date,
tzId: "America/New_York",
tzCode: "PDT"
}
console.log("New_York-> 1 hr ahead ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));
LastModifiedDate = {
date: date,
tzId: "America/Los_Angeles",
tzCode: "PDT"
}
console.log("Los_Angeles-> 2hr behind ->" + utils.formatDate(utils.convertPlatformDateToMillis(LastModifiedDate)));
class Utils {
convertPlatformDateToMillis(pltDateObject) {
return momentTimeZone.tz(pltDateObject.date, pltDateObject.tzId);
}
formatDate(dateInMillis) {
return moment(new Date(dateInMillis)).format('MMM DD, YYYY HH:mm A');
}
}
@ravisuryawanshi18
I think you should change code to this:
class Utils {
convertPlatformDateToMillis(date) {
// parse 2018-06-11T14:12:43 in Asia/Kolkata timezone
return momentTimeZone.tz(date, 'Asia/Kolkata').valueOf();
}
formatDate(dateInMillis, timezone) {
// convert date to @timezone and format it
return momentTimeZone(dateInMillis).tz(timezone).format('MMM DD, YYYY HH:mm A');
}
}
const utils = new Utils();
var milis = utils.convertPlatformDateToMillis("2018-06-11T14:12:43"); // 1528706563000
console.log(utils.formatDate(milis, 'America/New_York')); // Jun 11, 2018 04:42 AM
console.log(utils.formatDate(milis, 'America/Mexico_City')); // Jun 11, 2018 03:42 AM
console.log(utils.formatDate(milis, 'America/Los_Angeles')); // Jun 11, 2018 01:42 AM
Most helpful comment
@ravisuryawanshi18
I think you should change code to this: