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的更多相关文章

  1. Laravel 日期时间处理包 Carbon 的应用

    在编写 PHP 应用时经常需要处理日期和时间,这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单.Laravel 中默认使用的时 ...

  2. Extjs 5 可选择日期+时间的组件DateTimeField

    我们都知道ExtJs有日期组件DateField,但直到ExtJs 5.0版本该日期组件也只能选择日期,不能选择时间(具体到时.分.秒),而实际工作中又常常会有需要日期和时间同时选择的需求,我们只能自 ...

  3. 第二百一十九节,jQuery EasyUI,DateTimeBox(日期时间输入框)组件

    jQuery EasyUI,DateTimeBox(日期时间输入框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 DateTimeBox(日期时间输入框 ...

  4. Lumen Carbon 日期及时间处理包

    用到过的方法: 获取当前Y-m-d H:i:s Carbon::now()->toDateTimeString() 把 Y-m-d H:i:s 转 Y-m-d Carbon::parse('Y- ...

  5. 日期、时间选择器(DatePicker和TimePicker)的功能与用法

    DatePicker和TimePicker是两个比较易用的控件,它们都从FrameLayout派生而来,其中DatePicker供用户选择日期:而TimePicker则供用户选择时间. DatePic ...

  6. 小程序自定义pick(日期加时间组合)

    最近小程序有个需求要使用日期加时间的pick组件  翻了小程序文档似乎没有符合的 手写一个 新建组件picker.js: Component({ properties: { disabled: { t ...

  7. vue 时间选择器组件

    vue 时间选择器组件 组件效果: 单文件组件: <template> <div class="date-pickers"> <!--date为com ...

  8. [Swift通天遁地]二、表格表单-(16)在表单行内嵌入日期和时间拾取器

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. 《Java 8 in Action》Chapter 12:新的日期和时间API

    在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始. 在Java 1.1中,Date类中的很多 ...

随机推荐

  1. 机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)

    背景 最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串r ...

  2. [转] 利用git钩子,使用python语言获取提交的文件列表

    项目有个需求,需要获取push到远程版本库的文件列表,并对文件进行特定分析.很自然的想到,要利用git钩子来触发一个脚本,实现获取文件列表的功能.比较着急使用该功能,就用python配合一些git命令 ...

  3. outlook 2010 搜索不到邮件

    打开outlook 2010 文件, 选项, 加载项, 转到 windows search eamil indexer(打勾) 关闭outlook 控制面板, 索引选项, 高级, 重建索引

  4. SIFT算法总结:用于图像搜索

    原始文章链接:http://bubblexc.com/y2011/163/ 原文链接:http://blog.csdn.net/cserchen/article/details/5606859 关于三 ...

  5. springmvc中freemarker的搭建

    在springmvc框架已经搭好的前提下,导入freemarker.jar,此处版本是2.3. 主要的配置工作都在spring-servlet.xml中,请看代码: <!--配置试图解析器 -- ...

  6. Win7系统下调整硬盘分区大小给C盘更多的空间

    电脑安装了很多程序,C盘空间越来越小了.如何给C盘调整更多的空间,其实只要调整硬盘分区大小便可解决这个问题,下面有个小技巧,需要的朋友照做就可以了 Win7系统下如何调整硬盘分区大小,以前装系统的时候 ...

  7. C# model代码生成器

    using System.Collections.Generic; using System.Text; public class Class1 { //传递 1.表名 2.列名 3.类型 publi ...

  8. strusts2_json

    引用别人的 Struts.xml <package name="default" extends ="json-default" > <act ...

  9. UNIX网络编程(转载)

    1.1 客户端程序和服务端程序 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端 ...

  10. VMware 虚拟化技术 创建虚拟机

    原文地址:https://www.linuxidc.com/Linux/2017-03/141972.htm 云最成熟的架构是IaaS(Infrastructure as a Service),其中用 ...