使用时刻将服务器的默认时区转换为本地用户时间?



如何将服务器的默认时区(设置为date_default_timezone_set('Asia/Dubai');(转换为用户的本地时间。这是我从服务器获取的dateTime值"created_date":"2020-11-11 17:20:44"。我需要在下面添加什么修改才能获得用户的本地时间?

getTimeFormat(date) {
return moment(date).format("hh:MM A");
}

您需要使用即时时区。

const created_date = "2020-11-11 17:20:44";
// take the date and create a moment using its local timezone
const dubs = moment.tz(created_date, "Asia/Dubai");
// now convert to local
const local = dubs.local().format("hh:mm A");
console.log(local);
<script src="https://momentjs.com/downloads/moment.js"></script>
<script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>

同样,MM是月,而不是分钟,这就是mm

另一种选择是首先将该字符串格式化为适当的ISO日期时间字符串,因此它将为2020-11-11T17:20:44.000+04:00(此处的+04:00指定该时间在迪拜本地时区,即比UTC提前4小时(:

const isoDate = "2020-11-11T17:20:44.000+04:00";
const date = new Date(isoDate);
console.log(`${date.getHours()}:${date.getMinutes()}`);

这样你们就根本不需要时间了。

最新更新