首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP 日期/时间处理 Carbon 扩展

在 PHP 日常开发中,会经常用到日期和时间的操作,但官方的一般操作比较复杂,需要大量的时间进行格式化问题和大量计算等等。

Carbon 扩展可以帮助我们在 PHP 开发中处理日期/时间变得更加简单、更语义化,从而使得我们的代码更容易阅读和维护,下面我们将展开讨论。

1、安装扩展

composer require nesbot/carbon

2、使用 Carbon 扩展

use Carbon\Carbon;

3、获取日期和时间代码

// 获取当前时间:2023-01-12 12:12:44

$current = Carbon::now();

echo "获取当前时间:" . $current . PHP_EOL;

// 获取今天:2023-01-12 00:00:00

$today = Carbon::today();

echo "获取今天:" . $today . PHP_EOL;

// 获取昨天:2023-01-11 00:00:00

$yesterday = Carbon::yesterday();

echo "获取昨天:" . $yesterday . PHP_EOL;

// 获取明天:2023-01-13 00:00:00

$tomorrow = Carbon::tomorrow();

echo "获取明天:" . $tomorrow . PHP_EOL;

// 解析特定字符串 - 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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230113A00MUL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券