Bootstrap vue datepicker 显示UTC

Bootstrap vue datepicker display UTC

我正在使用 bootstrap-vueb-form-datepicker 控件。我想用基于当前 UTC 时间而不是浏览器本地时间的日期来初始化控件。

因此,如果中部时间(当前为 UCT-5)是 July 17, 2020 9:00 PM,则日历中给出的日期应该是 July 18, 2020,因为它对应于 July 18, 1:00 AM。这可能吗?

可以这样做:

const today = new Date();
const d = new Date(Date.now() + (60 * 1000 * today.getTimezoneOffset()))

即使生成的 Date 对象不是正确的时间,它仍然有效,因为日历只显示日期部分而不显示时间。我希望有更好的解决方案。

我正在像这样初始化控件的 v-model

<template>
    ...
    <b-form-datepicker
        v-model="myDate"
        :date-format-options="{ weekday: 'short', month: 'long' }"
    ></b-form-datepicker>
    ...
</template>

<script>
    ...
    export default {
        data() {
            return {
                myDate: new Date()
            }
         }
    ...
    }
</script>

至于DOCS,toISOString 总是return UTC 0。所以你可以用那种方式实例化你的日期。我试过它在我的时区有效。 Vue-date-picker 获取字符串并生成对象本身,传递的时区 Z.

<template>
    ...
    <b-form-datepicker
        v-model="myDate"
        :date-format-options="{ weekday: 'short', month: 'long' }"
    ></b-form-datepicker>
    ...
</template>

<script>
    ...
    export default {
        data() {
            return {
                myDate: new Date().toISOString()
            }
         }
    ...
    }
</script>