Antd DatePicker根据时区显示不同的时间

前言:据我所知目前Antd 的时间选择框是根据当前浏览器的时区来确定时间,如果可以切换不同的时区从而改变时间选择框的时间,如何做到?Antd时间选择框我们选择时间之后获取到的时间是一个moment对象,从而不难发现是使用的moment,如果想要改变时区只能使用moment设置不同的时区改变DatePicker控件的时间。
点击进入官网查看更多api

安装

npm install moment-timezone

使用

import moment from 'moment-timezone'

根据时间、时区获取该时区下的时间

var a = moment.tz("2013-11-18 11:55", "Asia/Taipei");
var b = moment.tz("2013-11-18 11:55", "America/Toronto");

a.format(); // 2013-11-18T11:55:00+08:00
b.format(); // 2013-11-18T11:55:00-05:00

a.utc().format(); // 2013-11-18T03:55Z
b.utc().format(); // 2013-11-18T16:55Z

var a = moment.utc("2013-11-18 11:55").tz("Asia/Taipei");
var b = moment.utc("2013-11-18 11:55").tz("America/Toronto");

a.format(); // 2013-11-18T19:55:00+08:00
b.format(); // 2013-11-18T06:55:00-05:00

a.utc().format(); // 2013-11-18T11:55Z
b.utc().format(); // 2013-11-18T11:55Z

设置时区

moment.tz.setDefault('需要设置的时区');

查看当前的时区

moment.tz.guess();

将时间moment对象转换正常时间

moment(val).format('YYYY-MM-DD HH:mm:ss')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容