【问题标题】:Vue.js - Laravel Populating datetime-local input fieldVue.js - Laravel 填充日期时间本地输入字段
【发布时间】:2025-12-28 18:55:15
【问题描述】:

我正在尝试填充我的 Vue.js 模板以更新模型

<input type="datetime-local" name="start_time" v-model="start_time">

在填写日期时间字段时遇到问题

start_time: "2020-02-12 22:00:00"

这是我从 api 收到的数据,我直接将它分配给我的 start_time 变量

只是添加到答案

使用格式

'YYYY-MM-DDTHH:mm' 

否则 AM 和 PM 会有问题

【问题讨论】:

  • 你是如何尝试预填充数据的??
  • 我将 start_time 绑定到输入表单
  • 好的。您是否使用值设置了 start_time 数据属性?事实上,请您为您的组件添加所有代码。
  • ok 现在会更新问题

标签: laravel vue.js


【解决方案1】:

根据MDN web docs for datetime-local,格式应为yyyy-mm-ddThh:mm。因此,您需要将数据属性的值更新为:

2020-02-12T22:00

由于您使用了 moment,您可以使用以下格式设置初始日期:

moment(dateString).format('YYYY-MM-DDThh:mm')

dateString 替换为实际的日期字符串或包含该日期字符串的属性。

【讨论】:

  • 是的..明白了..如何将其转换为这种格式
  • 我的意思是我从 api 获得的数据是“2020-02-12 22:00:00” .. 我现在正在尝试使用 moment 进行转换 .. 一旦我成功就会更新跨度>
  • @AthulRaj 我已经更新了我的答案,向您展示如何做到这一点。
  • 可能应该是 HH 而不是 hh
  • 这完全取决于用户是否想要 0-9 的前导零,即 02:30 而不是 2:30。 momentjs.com/docs/#/displaying