Nova 提供 2 種日期字段:Date
和 DateTime
。正如你已經(jīng)猜到的,Date
字段不存儲時間信息,但 DateTime
字段存儲時間信息:
use Laravel\Nova\Fields\Date;
use Laravel\Nova\Fields\DateTime;
Date::make('Birthday')
DateTime::make('Created At')
默認情況下,Nova 用戶看到的日期總是以基于用戶瀏覽器區(qū)域信息的本地時區(qū)呈現(xiàn)。
此外,用戶可隨時以用戶所在本地時區(qū)設置日期。日期將被自動轉(zhuǎn)化為你的應用程序 “服務器端” 的時區(qū),該時區(qū)由你的應用程序 app
配置文件中的 timezone
選項定義。
有時你可能希望明確定義 Nova 用戶的時區(qū),而不是使用用戶瀏覽器的區(qū)域設置信息。例如,也許你的應用程序允許用戶選擇用戶自己的時區(qū),這樣用戶即使在世界各地旅行也總能看到一致的日期時區(qū)。
為此,你可以使用 Nova::userTimezone
方法。通常,你應該在你的應用程序 NovaServiceProvider
中的 boot
方法中調(diào)用這個方法:
use Laravel\Nova\Nova;
use Illuminate\Http\Request;
/**
* 引導任何應用程序服務。
*
* @return void
*/
public function boot()
{
Nova::userTimezone(function (Request $request) {
return $request->user()->timezone;
});
}
更多建議: