在日常开发中,经常遇到需要处理工作日和营业时间的需求。例如,计算一个任务的截止日期,需要排除周末和节假日;或者需要判断当前时间是否在营业时间内。这些看似简单的需求,如果手动实现,往往需要编写大量的代码,并且容易出错。
cmixin/business-time
cmixin/business-time
Composer在线学习地址:学习地址
假设你需要开发一个在线预约系统,该系统需要:
如果没有
cmixin/business-time
cmixin/business-time
安装 cmixin/business-time
<pre class="brush:php;toolbar:false;">composer require cmixin/business-time
启用 BusinessTime
在应用的启动文件中(例如 Laravel 的
app/Providers/AppServiceProvider.php
<pre class="brush:php;toolbar:false;"><?php use Carbon\Carbon; use Cmixin\BusinessTime; BusinessTime::enable(Carbon::class, [ 'monday' => ['09:00-12:00', '13:00-18:00'], 'tuesday' => ['09:00-12:00', '13:00-18:00'], 'wednesday' => ['09:00-12:00'], 'thursday' => ['09:00-12:00', '13:00-18:00'], 'friday' => ['09:00-12:00', '13:00-20:00'], 'saturday' => ['09:00-12:00', '13:00-16:00'], 'sunday' => [], 'exceptions' => [ '2023-12-25' => [], // 圣诞节关闭 '01-01' => [], // 元旦关闭 ], 'holidaysAreClosed' => true, // 默认节假日关闭 'holidays' => [ 'region' => 'cn-national', // 使用中国国家节假日 ], ]);
这段代码启用了
BusinessTime
使用 BusinessTime
<pre class="brush:php;toolbar:false;">use Carbon\Carbon; $appointmentTime = Carbon::parse('2024-01-01 10:00'); if ($appointmentTime->isBusinessDay() && $appointmentTime->isOpen()) { echo "预约时间可用"; } else { echo "预约时间不可用"; }
这段代码使用
isBusinessDay()
isOpen()
cmixin/business-time
使用
cmixin/business-time
cmixin/business-time
总之,
cmixin/business-time
cmixin/business-time
以上就是使用cmixin/business-time轻松处理Carbon的工作时间和节假日的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号