PHP 日期/时间处理 Carbon 扩展

2023-01-22 0 1,107

在 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 

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务