Laravel Nova 日期字段

2023-02-16 17:07 更新

时区

Nova 提供 2 种日期字段:Date 和 DateTime。正如你已经猜到的,Date 字段不存储时间信息,但 DateTime 字段存储时间信息:

use Laravel\Nova\Fields\Date;
use Laravel\Nova\Fields\DateTime;

Date::make('Birthday')
DateTime::make('Created At')

时区

默认情况下,Nova 用户看到的日期总是以基于用户浏览器区域信息的本地时区呈现。

此外,用户可随时以用户所在本地时区设置日期。日期将被自动转化为你的应用程序 “服务器端” 的时区,该时区由你的应用程序 app 配置文件中的 timezone 选项定义。

自定义时区

有时你可能希望明确定义 Nova 用户的时区,而不是使用用户浏览器的区域设置信息。例如,也许你的应用程序允许用户选择用户自己的时区,这样用户即使在世界各地旅行也总能看到一致的日期时区。

为此,你可以使用 Nova::userTimezone 方法。通常,你应该在你的应用程序 NovaServiceProvider 中的 boot 方法中调用这个方法:

use Laravel\Nova\Nova;
use Illuminate\Http\Request;

/**
 * 引导任何应用程序服务。
 *
 * @return void
 */
public function boot()
{
    Nova::userTimezone(function (Request $request) {
        return $request->user()->timezone;
    });
}


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号