为什么vue-datepicker要在用户选择的时间上增加4小时

u3r8eeie  于 2023-05-23  发布在  Vue.js
关注(0)|答案(1)|浏览(331)

我尝试使用vue-datepicker与Laravel Breeze/Vue。但是日期选择器会在用户选择的时间上增加4小时。因此,如果用户选择10:00 AM,则日期选择器将返回14:00。
我尝试使用另一个stackoverflow线程的建议,该线程在控制器中使用Carbon::parse,但问题似乎是vue-datecker在前端增加了4个小时。
在Breeze/Vue中使用vue-datepicker的最佳方法是什么?我不需要任何时区的东西。无论用户何时进入,无论他们在哪里,都是我想存储在数据库中的内容。10:00 AM应该记录为10:00:00,无论用户是在东海岸、西海岸还是其他任何地方。
谢谢

wdebmtf2

wdebmtf21#

它以这种方式工作,因为它默认读取UTC时间。例如,当我现在尝试它时,我得到了6am,因为我的时区是+3。要从日期中获取实际时间,您可以将其转换为区域设置:

<template>
  <VueDatePicker v-model="date" />
</template>

<script setup>
import VueDatePicker from "@vuepic/vue-datepicker";
import "@vuepic/vue-datepicker/dist/main.css";
import { ref } from "vue";

const date = ref<Date | null>();

function getLocaleTime() {
  if (!date.value) return;

  return date.value.toLocaleDateString();
}
</script>

相关问题