PHP日期和时间处理组件-Carbon
https://packagist.org/packages/nesbot/carbon
我们使用PHP时经常需要处理日期和时间,有时会被时间时区搞混淆,而Carbon是PHP中很人性化的时间日期处理组件,它继承自 PHP的DateTime 类的 API 扩展,使得处理日期和时间更加简单。
安装
可以通过 Composer 来安装 Carbon:
composer require nesbot/carbon
使用:
<?php
require 'vendor/autoload.php';
use Carbon\Carbon;
获取当前时间
Code:
1. <?php
2. $dt = Carbon::now();
3. $dt->timezone = 'Asia/Shanghai';
4. echo $dt; // 2017-10-10 13:02:09
昨天、今天、明天
Code:
1. <?php
2. $dt = Carbon::now();
3. $dt->timezone = 'Asia/Shanghai';
4. echo '昨天: '.$dt->yesterday(); // 昨天: 2017-10-09 00:00:00
5. echo '今天: '.$dt->today(); // 今天: 2017-10-10 00:00:00
6. echo '明天: '.$dt->tomorrow(); // 明天: 2017-10-11 00:00:00
2017年10月最后一天
Code:
1. <?php
2. echo new Carbon('last day of October 2017'); // 2017-10-31 00:00:00
一周前
Code:
1. <?php
2. echo $dt->subWeek(); // 2017-10-03 13:02:09
5.30天后
Code:
1. <?php
2. $dt = Carbon::now();
3. $dt->timezone = 'Asia/Shanghai';
4. echo $dt->addDay(30); // 2017-11-09 13:02:09
计算年龄(出生于1982-12-12)
Code:
1. <?php
2. $howOldAmI = Carbon::createFromDate(1982, 12, 12)->age;
3. echo $howOldAmI . '岁'; // 34岁
只显示日期
Code:
1. <?php
2. echo Carbon::now()->toDateString(); // 2017-10-10
显示国际时间
Code:
1. <?php
2. echo Carbon::now('Europe/London'); // 伦敦时间:2017-10-10 06:02:09
3. echo Carbon::now('Europe/Paris'); // 巴黎时间:2017-10-10 07:02:09
4. echo Carbon::now('Asia/Shanghai'); // 北京时间:2017-10-10 13:02:09
5. echo Carbon::now('America/Vancouver'); // 温哥华时间:2017-10-09 22:02:09
9.2小时后
Code:
1. <?php
2. echo Carbon::now('Asia/Shanghai')->addHours(2); // 2017-10-10 15:02:09
显示当前时间戳
Code:
1. <?php
2. echo Carbon::now()->timestamp; // 1507611729
人性化显示时间
Code:
1. <?php
2. $ts = Carbon::yesterday()->timestamp;
3. echo Carbon::createFromTimestamp($ts)->diffForHumans(); // 1天前
Carbon有点类似javascript的moment.js,它继承了PHP的 Datetime 类,所以 Carbon 中没有涉及到的,但在 Datetime 中已经实现的方法都是可以使用的。使用Carbon后你会发现处理日期和时间非常灵活,也非常人性化。
arbon在github上的地址: http://carbon.nesbot.com/docs/
PHP日期和时间处理组件-Carbon的更多相关文章
- Laravel 日期时间处理包 Carbon 的应用
在编写 PHP 应用时经常需要处理日期和时间,这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单.Laravel 中默认使用的时 ...
- Extjs 5 可选择日期+时间的组件DateTimeField
我们都知道ExtJs有日期组件DateField,但直到ExtJs 5.0版本该日期组件也只能选择日期,不能选择时间(具体到时.分.秒),而实际工作中又常常会有需要日期和时间同时选择的需求,我们只能自 ...
- 第二百一十九节,jQuery EasyUI,DateTimeBox(日期时间输入框)组件
jQuery EasyUI,DateTimeBox(日期时间输入框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 DateTimeBox(日期时间输入框 ...
- Lumen Carbon 日期及时间处理包
用到过的方法: 获取当前Y-m-d H:i:s Carbon::now()->toDateTimeString() 把 Y-m-d H:i:s 转 Y-m-d Carbon::parse('Y- ...
- 日期、时间选择器(DatePicker和TimePicker)的功能与用法
DatePicker和TimePicker是两个比较易用的控件,它们都从FrameLayout派生而来,其中DatePicker供用户选择日期:而TimePicker则供用户选择时间. DatePic ...
- 小程序自定义pick(日期加时间组合)
最近小程序有个需求要使用日期加时间的pick组件 翻了小程序文档似乎没有符合的 手写一个 新建组件picker.js: Component({ properties: { disabled: { t ...
- vue 时间选择器组件
vue 时间选择器组件 组件效果: 单文件组件: <template> <div class="date-pickers"> <!--date为com ...
- [Swift通天遁地]二、表格表单-(16)在表单行内嵌入日期和时间拾取器
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 《Java 8 in Action》Chapter 12:新的日期和时间API
在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始. 在Java 1.1中,Date类中的很多 ...
随机推荐
- DevExpress 如何读取当前目录下文件,加载至grid
DBFileName=DevExpress.Utils.FileHelper.FindingFileName(Appliaction.StartupPath,"Data\\Product&g ...
- SQL 字段类型详解
bit 整型 bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off. 注意:很省空间的一种数据 ...
- Ruby. Vs . Python
前言:从语言的本质上来分析,我对Ruby持反对态度,毕竟语言是为了交流,在表达的效率层面为了正确性必须适当放弃复杂性.且有句老话说的好,Ruby In Rails 才是语言,而Ruby只是这个语言的工 ...
- Python Tutorial笔记
Python Tutorial笔记 Python入门指南 中文版及官方英文链接: Python入门指南 (3.5.2) http://www.pythondoc.com/pythontutorial3 ...
- 02--linux操作系统基础学习笔记
linux是一种操作系统. 嵌入式系统是以应用为中心的,以计算机技术为基础并且软硬件可剪裁,专用计算机系统. 内核下载网站 https://www.kernel.org/ https://www.ke ...
- SweetAlert详解
官方给出的SweetAlert介绍是:SweetAlert可以替代JavaScript原生的alert和confirm等函数呈现的弹出提示框,它将提示框进行了美化,并且允许自定义,支持设置提示框标题. ...
- Robot Framework(二)测试数据语法
2.1.1文件和目录 测试数据的层次结构安排如下: 测试数据在测试数据文件中创建. 测试数据文件会自动创建一个包含该文件中的测试数据的测试套件. 包含测试数据文件的目录构成了更高级别的测试套件.这样的 ...
- K8s的工作原理
title: Kubernetes之初探 subtitle: K8s的工作原理 date: 2018-09-18 18:26:37 --- K8s概述 我清晰地记得曾经读到过的一篇博文,上面是这样写的 ...
- java 1.8 内存告警问题
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512m; support was removed in 8.0 ...
- JA document的练习
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...