1

Laravel Nova 中是否有显示可读日期时间输出和/或限制输出的选项?

例如: 2018 年 10 月 29 日 / 2018 年 11 月 11 日,上午 12:10

约会时间

代码:

   DateTime::make('Start')
                ->rules('required')
                ->sortable(),
4

3 回答 3

10

根据文档https://nova.laravel.com/docs/1.0/resources/fields.html#datetime-field

use Laravel\Nova\Fields\DateTime;

DateTime::make('Start')->format('DD MMMM YYYY'),

必须使用 Moment.js 格式化规则https://momentjs.com/docs/#/displaying/format/

于 2018-10-30T10:11:06.907 回答
4

使用这个,希望它会工作

Date::make('start')->format('F j, Y'),
于 2018-10-30T09:09:53.787 回答
0

我们也遇到过这样的问题。此解决方案 DateTime::make('Start')->format('DD MMMM YYYY') 仅对索引页面有帮助,但对编辑页面没有帮助。我不知道这个错误何时会在新的 Nova 版本中得到修复,但我们暂时使用了小型硬编码。

    1. nova/src/Fields/Date.php
而是:返回 $value->format('Ymd'); 
 使用这个:return $value->format('m/d/Y');
    1. nova/resources/js/components/Form/DateField.vue
在这个 vue 组件中,还应该更改日期格式:dateFormat="m/d/Y"
    1. nova/resources/js/components/Form/DateField.vue
对于占位符方法,请使用此方法:
      return this.field.placeholder || moment().format('MM/DD/YYYY')
取而代之的是:
     返回 this.field.placeholder || moment().format('YYYY-MM-DD')
    1. 此外,如果您以其他格式将数据存储在数据库中,您应该在 App\Model 类中使用 Mutator。像这样的东西:
    公共函数 setLastUsedAttribute($value){
          $date = Carbon::createFromFormat('m/d/Y', $value);
          $this->attributes['last_used'] = $date->format('Ymd');
    }

于 2019-03-28T16:42:19.367 回答