日期字段

时区

Nova 提供 2 种日期字段:DateDateTime。正如你已经猜到的,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;
    });
}

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~