在 PHP 日常生活合作开发中,会时常加进年份和天数的操作方式,但非官方的通常操作方式非常复杂,须要大批的天数展开序列化难题和大批排序之类。
Carbon 扩充能协助他们在 PHP 合作开发中处置年份/天数显得更为单纯、更语法化,进而使他们的标识符更容易写作和保护,上面他们将展开讨论。
1、加装扩充
composer require nesbot/carbon
2、采用 Carbon 扩充
use Carbon\Carbon;
$current = Carbon::now();
;
$today = Carbon::today();
-11 00:00:00
$yesterday = Carbon::yesterday();
00:00:00
$tomorrow = Carbon::tomorrow();
// 解析特定字符串 – 2023-01-01 00:00:00
$newYear = new Carbon(first day of January 2023);
echo “解析特定字符串:” . $newYear . PHP_EOL;
// 设定一个特定的时区 -2023-01-01 00:00:00
$newYearPST = new Carbon (first day of January 2023, Asia/Shanghai);
echo “设定一个特定的时区:” . $newYearPST . PHP_EOL;
4、操作方式天数
// 添加 30 天到当前天数
$trialExpires = Carbon::now()->addDays(30);
echo “往后加30天:” . $trialExpires . PHP_EOL;
// 输出:往后加30天:2023-02-11 12:36:00
// 创建一个年份 + 天数
$dt = Carbon::create(2023, 1, 12, 12);
echo $dt->toDateTimeString();
// 2023-01-12 12:00:00
// 加 5 年
echo $dt->addYears(5);
// 2028-01-12 12:00:00
// 在 5 年的基础上 再加 1 年
echo $dt->addYear();
// 2029-01-12 12:00:00
// 减 1 年
echo $dt->subYear();
// 2028-01-12 12:00:00
// 减 5 年
echo $dt->subYears(5);
// 2023-01-12 12:00:00
// 加 60 个月
echo $dt->addMonths(60);
// 2028-01-12 12:00:00
// 加 1 个月
echo $dt->addMonth();
// 2028-02-12 12:00:00
// 减 1 个月
echo $dt->subMonth();
// 2028-01-12 12:00:00
// 减 60 个月
echo $dt->subMonths(60);
// 2023-01-12 12:00:00
// 加 29 天
echo $dt->addDays(29);
// 2023-02-10 12:00:00
// 加 1 天
echo $dt->addDay();
// 2023-02-11 12:00:00
// 减 1 天
echo $dt->subDay();
// 2023-02-10 12:00:00
// 减 29 天
echo $dt->subDays(29);
// 2023-01-12 12:00:00
// 加 4 天 排除周末
echo $dt->addWeekdays(2);
// 2023-01-18 12:00:00
// 加 1 天 排除周末
echo $dt->addWeekday();
// 2023-01-19 12:00:00
// 减 1 天 排除周末
echo $dt->subWeekday();
// 2023-01-18 12:00:00
// 减 4 天 排除周末
echo $dt->subWeekdays(4);
// 2023-01-12 12:00:00
// 加 3 周
echo $dt->addWeeks(3);
// 2023-02-02 12:00:00
// 加 1 周
echo $dt->addWeek();
// 2023-02-07 12:00:00
// 减 1 周
echo $dt->subWeek();
// 2023-01-31 12:00:00
// 减 3 周
echo $dt->subWeeks(3);
// 2023-01-10 12:00:00
// 加 24 小时
echo $dt->addHours(24);
// 2023-01-11 12:00:00
// 加 1 小时
echo $dt->addHour();
// 2023-01-11 13:00:00
// 减 1 小时
echo $dt->subHour();
// 2023-01-11 12:00:00
// 减 24 小时
echo $dt->subHours(24);
// 2023-01-10 12:00:00
// 加 50 分钟
echo $dt->addMinutes(50);
// 2023-01-10 12:50:00
// 加 1 分钟
echo $dt->addMinute();
// 2023-01-10 12:51:00
// 减 1 分钟
echo $dt->subMinute();
// 2023-01-10 12:50:00
// 减 50 分钟
echo $dt->subMinutes(50);
// 2023-01-10 12:00:00
// 加 50 秒
echo $dt->addSeconds(50);
// 2023-01-10 12:00:50
// 加 1 秒
echo $dt->addSecond();
// 2023-01-10 12:00:51
// 减 1 秒
echo $dt->subSecond();
// 2023-01-10 12:00:50
// 减 50 秒
echo $dt->subSeconds(50);
// 2023-01-10 12:00:00
4、序列化 年份 + 天数
$dt = Carbon::now();
// 序列化 当前年份
echo $dt->toDateString();
// 2023-01-12
// 序列化 英文年份
echo $dt->toFormattedDateString();
// Jan 12, 2023
// 序列化天数
echo $dt->toTimeString();
// 13:05:21
// 序列化年份 + 天数
echo $dt->toDateTimeString();
// 2023-01-12 13:03:49
// 序列化年份 + 天数 英文
echo $dt->toDayDateTimeString();
// Thu, Jan 12, 2023 1:03 PM
另外还有很多,请看非官方文档 https://carbon.nesbot.com