laraning / nova-time-field
Laravel Nova 字段。
v1.2
2020-11-29 17:27 UTC
Requires
- php: >=7.1.0
README
此包包含一个 Nova 字段,允许您存储时间值。底层使用 flatpickr 默认 Laravel Nova 日历库。
安装
您可以通过 composer 在您的 Laravel Nova 应用中安装此包
composer require laraning/nova-time-field
用法
您可以在您的 Nova 资源中使用 Laraning\NovaTimeField\TimeField
命名空间
namespace App\Nova; use Laraning\NovaTimeField\TimeField; class BlogPost extends Resource { // ... public function fields(Request $request) { return [ // ... TimeField::make('Post start Time'), // ... ]; } }
默认情况下,时间组件使用 24 小时制。但您也可以将其设置为 12 小时制,如下所示
TimeField::make('Post start Time')->withTwelveHourTime(),
您还可以将默认的 5 分钟递增值更改为另一个数字
TimeField::make('Post start Time')->minuteIncrement(1),
您可以通过在字段上调用 withTimezoneAdjustments()
方法,确保所有输入的时间都被转换回您的基础应用程序时区(在 config/app.php
中设置)。
TimeField::make('Post start Time')->withTimezoneAdjustments(),
例如,当您的应用程序设置为 GMT,但用户位于 BST (GMT+1) 时,用户仍然可以以本地时间与时间字段交互,但时间将以 GMT 保存到数据库。
例如,用户可能选择 14:00。他们总是会看到时间为 14:00,但数据库会将其保存为 13:00,因为它在幕后进行 BST -> GMT 调整。
除了处理时间到和从您的应用程序基本时区的切换外,您还可以传递时区偏移量(以分钟为单位),例如由 moment().utcOffset()
返回的偏移量。这将调整显示的时间以使用调整后的时区而不是用户的时区。如果要在 UTC 中保存时间以及提交它的浏览器偏移量,这非常有用。
在这里,您可以看到如何通过传递偏移量 60 将 UTC 移动到 BST
TimeField::make('Post start Time')->withTimezoneAdjustments(60),
当前开发状态
- 发布 0.1.0 版本。
- 添加最小测试场景。
- 添加时区支持。
变更日志
有关最近更改的更多信息,请参阅 变更日志。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。