如何将vue-datetime与时区一起使用?

时间:2019-05-24 17:46:50

标签: vue.js momentjs

我正在使用称为{vue-datetime的component,我希望有人使用了与我相同的用例。

我正在尝试根据用户的“资产”所在的任何时区放置一个最大日期。我正在使用时间获取时区日期。

var facades = function() {
    return {
            facade1: {
                method1: function() {
                    throw new Error('this is a fake exception');
                }
            }
        }

}();

try {
    facades.facade1.method1()
} catch(e) {
    //i want to log facades and facade1 here
}

我将date和dateNow传递为

<datetime
    v-model="date"
    zone="Asia/Tokyo"
    value-zone="Asia/Tokyo"
    :max-datetime="dateNow">
</datetime>

,它是ISO 8601字符串,并且这些日期正确(返回东京的当地时间)。但是,当我打开日期选择器时,即使5月25日是东京的5月25日凌晨2:45,也将被禁用。

2 个答案:

答案 0 :(得分:0)

设置所需国家/城市的默认本地区域

如果未安装luxon,请安装:

npm install --save luxon

然后

import moment from 'moment';
import { Settings } from 'luxon'
...
//set to display dates for English language
Settings.defaultLocale = 'en'

image with the setting used

答案 1 :(得分:0)

.tz()仅在还安装了moment-timezone软件包的情况下可用。

使用npm的示例(有关其他示例,请参见https://momentjs.com/timezone/):

npm install moment-timezone --save

初始化示例:

import VueMoment from "vue-moment";
import moment from "moment-timezone";

moment.tz.guess();
Vue.use(VueMoment, { moment });

文档:https://momentjs.com/timezone/docs/