Carbon是PHP中很人性化的时间日期处理插件。
github地址为:[https://github.com/briannesbitt/Carbon](https://github.com/briannesbitt/Carbon)
## 安装
~~~
composer require nesbot/carbon
~~~
1、基本应用
~~~
$now = Carbon::now(); //2016-11-03 14:13:16
$today = Carbon::today(); //2016-11-03 00:00:00
$tomorrow = Carbon::tomorrow(); //2016-11-04 00:00:00
$yesterday = Carbon::yesterday(); //2016-11-02 00:00:00
~~~
2、判断是否是某一天(2016-11-03(周四)举例)
~~~
$now = Carbon::now();
var_dump($now->isWeekend()); //false 因为周四不是周末
var_dump($now->isWeekday()); //true 因为周四是工作日
var_dump($now->isThursday()); //true 因为今天是周四
$now->isToday();
$now->isTomorrow();
$now->isFuture();
$now->isPast();
~~~
3、创建某一天的carbon对象并且进行加减计算
~~~
$date = Carbon::create(2016, 12, 25, 0, 0, 0); //2016-12-25 00:00:00
$next_year=$date->addYears(2); //2018-12-25 00:00:00
$past_year=$date->subYears(2); //2014-12-25 00:00:00
$next_month=$date->addMonths(2); //2017-02-25 00:00:00
$past_month=$date->subMonths(2); //2016-10-25 00:00:00
$next_day=$date->addDays(2); //2016-12-27 00:00:00
$past_day=$date->subDays(2); //2016-12-23 00:00:00
//还有addWeekdays()、addWeeks()、addHours()等方法
~~~
4、将carbon对象转换成string类型
~~~
$dt = Carbon::create(1975, 12, 25, 14, 15, 16);
echo $dt->toDateString(); // 1975-12-25
echo $dt->toFormattedDateString(); // Dec 25, 1975
echo $dt->toTimeString(); // 14:15:16
echo $dt->toDateTimeString(); // 1975-12-25 14:15:16
echo $dt->toDayDateTimeString(); // Thu, Dec 25, 1975 2:15 PM
~~~
5、本地化(中文)
~~~
Carbon::setLocale('zh');
echoCarbon::now()->addYear()->diffForHumans();// 一年前
echo Carbon::now()->subDays(5)->diffForHumans(); // 5天前
echo Carbon::now()->diffForHumans(Carbon::now()->subYear()); // 1年后
$dt = Carbon::createFromDate(2011, 8, 1);
echo $dt->diffForHumans($dt->copy()->addMonth()); // 1月前
echo $dt->diffForHumans($dt->copy()->subMonth()); // 11月后
echo Carbon::now()->addSeconds(5)->diffForHumans(); // 5秒距现在
echo Carbon::now()->subDays(24)->diffForHumans(); // 3周前
echo Carbon::now()->subDays(24)->diffForHumans(null, true); // 3周
~~~
- 搭建ThinkPHP6的开发环境
- 配置ThinkPHP6
- 必要的基础知识(basic)
- MVC开发模式
- 控制器(controller)
- 数据库(database)
- 模型(model)
- 模型关联(relation)
- 视图(view)
- Session
- Cookie
- 缓存(cache)
- 上传(upload)
- 验证器(validate)
- 验证码(captcha)
- 命令行(command)
- 服务器部署(deploy)
- 数据备份(backup)
- 数据同步(synchronization)
- 订阅服务(subscribe)
- PHP 易混淆知识点
- 助手函数
- MySQL规范
- Redis 规范
- office插件 phpoffice
- 拼音插件 pinyin
- 日期插件 datetime
- 消息插件 amqp
- 产品部署环境的搭建
- PDF 等杂项处理
- 文件上传
- 常用扩展
- flc/dysms
- 使用示例 ①
- 使用示例 ②
- qiniu/php-sdk
- 简介
- 使用示例
- 使用示例 2 ②
- liliuwei/thinkphp-jump
- 扩展介绍
- 下载扩展
- 使用方法
- topthink/think-captcha
- 安装扩展
- 验证码显示
- 更换验证码
- 验证码校验
- 验证码配置
- 自定义验证码
- phpoffice/phpspreadsheet
- 数据写入表格
- 读取表格数据
- topthink/think-queue
- 安装
- 自定义函数
- 任务类
- 带有日志的任务类