前言:据我所知目前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')