【问题标题】:How do I use vue-datetime with timezones?如何将 vue-datetime 与时区一起使用?
【发布时间】:2019-10-11 08:03:35
【问题描述】:

我正在使用这个名为 vue-datetime 的 component,我希望有人使用与我相同的用例。

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

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

我将 date 和 dateNow 传递为

moment().tz('Asia/Tokyo').format()

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

【问题讨论】:

    标签: vue.js momentjs


    【解决方案1】:

    为您想要的国家/城市设置默认本地区域

    如果未安装,请安装 luxon:

    npm install --save luxon
    

    然后

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

    【讨论】:

    • moment().tz() 我觉得没有这种方法
    【解决方案2】:

    .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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 2015-10-06
      • 2019-09-20
      • 2021-09-17
      • 1970-01-01
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多