如何将日期时间转换为本地用户特定时区
how to convert date time to local user specific time zone
我将这个时区保存在我的 mysql 数据库中,但没有添加任何时区。
date: 2021-04-10 15:04:11 (UTC)
所以我使用 get api 从数据库中获取并使用以下代码在我的 React 组件上显示。
<div>moment(date).tz(moment.tz.guess()).format("MMMM DD, YYYY HH:mm A")</div>
现在使用上面的代码,它会在浏览器上显示与上面 2021-04-10 15:04:11 (UTC)
相同的日期。但我需要在我当地的时区“America/New_York”...我该怎么做?
在我的例子中,我用你的 date
生成了一个 utc 时刻日期,在我格式化之后。
const utcDate = moment.utc('2021-04-10 15:04:11');
console.log(utcDate);
console.log(moment.tz.guess());
const dateInMyTz = moment(utcDate).tz(moment.tz.guess()).format('MMMM DD, YYYY HH:mm A');
console.log(dateInMyTz);
这是控制台结果:
Moment<2021-04-10T15:04:11Z>
Europe/Rome
aprile 10, 2021 17:04 PM
我将这个时区保存在我的 mysql 数据库中,但没有添加任何时区。
date: 2021-04-10 15:04:11 (UTC)
所以我使用 get api 从数据库中获取并使用以下代码在我的 React 组件上显示。
<div>moment(date).tz(moment.tz.guess()).format("MMMM DD, YYYY HH:mm A")</div>
现在使用上面的代码,它会在浏览器上显示与上面 2021-04-10 15:04:11 (UTC)
相同的日期。但我需要在我当地的时区“America/New_York”...我该怎么做?
在我的例子中,我用你的 date
生成了一个 utc 时刻日期,在我格式化之后。
const utcDate = moment.utc('2021-04-10 15:04:11');
console.log(utcDate);
console.log(moment.tz.guess());
const dateInMyTz = moment(utcDate).tz(moment.tz.guess()).format('MMMM DD, YYYY HH:mm A');
console.log(dateInMyTz);
这是控制台结果:
Moment<2021-04-10T15:04:11Z>
Europe/Rome
aprile 10, 2021 17:04 PM