当前位置: 首页 > news >正文

网站备案咨询照明网站模板

网站备案咨询,照明网站模板,重庆seo点击工具,做网站运营需要有什么能力在编写 PHP 应用时经常需要处理日期和时间#xff0c;这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展#xff0c;它使得处理日期和时间更加简单。Laravel 中默认使用的时间处理类就是 Carbon。namespace Carbon;class Carbon extends \DateTime{// code …在编写 PHP 应用时经常需要处理日期和时间这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展它使得处理日期和时间更加简单。Laravel 中默认使用的时间处理类就是 Carbon。namespace Carbon;class Carbon extends \DateTime{// code here}你可以在 Carbon 命名空间的 Carbon 类中看到上面声明的代码片段。安装可以通过 Composer 来安装 Carboncomposer require nesbot/carbonPS由于 Laravel 项目已默认安装了此包所以不需要再次执行上面的命令。使用你需要通过命名空间导入 Carbon 来使用而不需每次都提供完整的名称。use Carbon\Carbon;获取当前时间可以同 now() 方法获取当前的日期和时间。如果你不指定参数它会使用 PHP 配置中的时区echo Carbon::now(); //2016-10-14 20:21:20?如果你想使用一个不同的时区你需要传递一个有效的时区作为参数// 直接使用字符串echo Carbon::now(Europe/London); //2016-10-14 20:21:20// 或者echo Carbon::now(new DateTimeZone(Europe/London));除 now() 外还提供了 today()、tomorrow()、yesterday() 等静态函数不过它们的时间都是 00:00:00 echo Carbon::now(); // 2016-10-14 15:18:34echo Carbon::today(); // 2016-10-14 00:00:00echo Carbon::tomorrow(Europe/London); // 2016-10-14 00:00:00echo Carbon::yesterday(); // 2016-10-14 00:00:00以上输出结果其实是一个 Carbon 类型的日期时间对象Carbon {#179 ▼date: 2016-06-14 00:00:00.000000timezone_type: 3timezone: UTC}要想获取字符串类型的日期可以使用下面的代码echo Carbon::today()-toDateTimeString();echo Carbon::yesterday()-toDateTimeString();echo Carbon::tomorrow()-toDateTimeString();日期类型转为字符串如上所述默认情况下Carbon 的方法返回的为一个日期时间对象。虽然它是一个对象但是你却可以直接使用 echo 输出结果因为有 __toString 魔术方法。但是如果你想把它转为字符串可以使用 toDateString 或 toDateTimeString 方法echo Carbon::now()-toDateString(); //2016-10-14echo Carbon::now()-toDateTimeString(); //2016-10-14 20:22:50日期解析你还可以使用 parse 方法解析任何顺序和类型的日期(结果为 Carbon 类型的日期时间对象)echo Carbon::parse(2016-10-15)-toDateTimeString(); //2016-10-15 00:00:00echo Carbon::parse(2016-10-15)-toDateTimeString(); //2016-10-15 00:00:00echo Carbon::parse(2016-10-15 00:10:25)-toDateTimeString(); //2016-10-15 00:10:25echo Carbon::parse(today)-toDateTimeString(); //2016-10-15 00:00:00echo Carbon::parse(yesterday)-toDateTimeString(); //2016-10-14 00:00:00echo Carbon::parse(tomorrow)-toDateTimeString(); //2016-10-16 00:00:00echo Carbon::parse(2 days ago)-toDateTimeString(); //2016-10-13 20:49:53echo Carbon::parse(3 days)-toDateTimeString(); //2016-10-18 20:49:53echo Carbon::parse(2 weeks)-toDateTimeString(); //2016-10-29 20:49:53echo Carbon::parse(4 months)-toDateTimeString(); //2017-02-15 20:49:53echo Carbon::parse(-1 year)-toDateTimeString(); //2015-10-15 20:49:53echo Carbon::parse(next wednesday)-toDateTimeString(); //2016-10-19 00:00:00echo Carbon::parse(last friday)-toDateTimeString(); //2016-10-14 00:00:00构造日期你还可以使用单独的年月日来构造日期$year 2015;$month 04;$day 12;echo Carbon::createFromDate($year, $month, $day); //2015-04-12 20:55:59$hour 02;$minute 15:$second 30;echo Carbon::create($year, $month, $day, $hour, $minute, $second); //2015-04-12 02:15:30echo Carbon::createFromDate(null, 12, 25); // 年默认为当前年份此外还可以传递一个有效的时区作为最后一个参数。日期操作日期操作可以通过 add (增加)或 sub (减去)跟上要增加或减去的单位来完成。例如你想给一个日期增加指定的天数你可以使用 addDays 方法。此外还提供了一个 modify 方法参数格式为 或 - 跟上值及单位。所以如果你想给当前日期增加一年你可以传递 1 yearecho Carbon::now()-addDays(25); //2016-11-09 14:00:01echo Carbon::now()-addWeeks(3); //2016-11-05 14:00:01echo Carbon::now()-addHours(25); //2016-10-16 15:00:01echo Carbon::now()-subHours(2); //2016-10-15 12:00:01echo Carbon::now()-addHours(2)-addMinutes(12); //2016-10-15 16:12:01echo Carbon::now()-modify(15 days); //2016-10-30 14:00:01echo Carbon::now()-modify(-2 days); //2016-10-13 14:00:01日期比较在 Carbon 中你可以使用下面的方法来比较日期min –返回最小日期。max – 返回最大日期。eq – 判断两个日期是否相等。gt – 判断第一个日期是否比第二个日期大。lt – 判断第一个日期是否比第二个日期小。gte – 判断第一个日期是否大于等于第二个日期。lte – 判断第一个日期是否小于等于第二个日期。echo Carbon::now()-tzName; // America/Toronto$first Carbon::create(2012, 9, 5, 23, 26, 11);$second Carbon::create(2012, 9, 5, 20, 26, 11, America/Vancouver);echo $first-toDateTimeString(); // 2012-09-05 23:26:11echo $first-tzName; // America/Torontoecho $second-toDateTimeString(); // 2012-09-05 20:26:11echo $second-tzName; // America/Vancouvervar_dump($first-eq($second)); // bool(true)var_dump($first-ne($second)); // bool(false)var_dump($first-gt($second)); // bool(false)var_dump($first-gte($second)); // bool(true)var_dump($first-lt($second)); // bool(false)var_dump($first-lte($second)); // bool(true)$first-setDateTime(2012, 1, 1, 0, 0, 0);$second-setDateTime(2012, 1, 1, 0, 0, 0); // Remember tz is America/Vancouvervar_dump($first-eq($second)); // bool(false)var_dump($first-ne($second)); // bool(true)var_dump($first-gt($second)); // bool(false)var_dump($first-gte($second)); // bool(false)var_dump($first-lt($second)); // bool(true)var_dump($first-lte($second)); // bool(true)要判断一个日期是否介于两个日期之间可以使用 between() 方法第三个可选参数指定比较是否可以相等默认为 true$first Carbon::create(2012, 9, 5, 1);$second Carbon::create(2012, 9, 5, 5);var_dump(Carbon::create(2012, 9, 5, 3)-between($first, $second)); // bool(true)var_dump(Carbon::create(2012, 9, 5, 5)-between($first, $second)); // bool(true)var_dump(Carbon::create(2012, 9, 5, 5)-between($first, $second, false)); // bool(false)此外还提供了一些辅助方法你可以从它们的名字中明白其含义$dt Carbon::now();$dt-isWeekday();$dt-isWeekend();$dt-isYesterday();$dt-isToday();$dt-isTomorrow();$dt-isFuture();$dt-isPast();$dt-isLeapYear();$dt-isSameDay(Carbon::now());$born Carbon::createFromDate(1987, 4, 23);$noCake Carbon::createFromDate(2014, 9, 26);$yesCake Carbon::createFromDate(2014, 4, 23);$overTheHill Carbon::now()-subYears(50);var_dump($born-isBirthday($noCake)); // bool(false)var_dump($born-isBirthday($yesCake)); // bool(true)var_dump($overTheHill-isBirthday()); // bool(true) - default compare it to today!diffForHumans“一个月前”比“30 天前”更便于阅读很多日期库都提供了这个常见的功能日期被解析后有下面四种可能性当比较的时间超过当前默认时间1天前5月前当用将来的时间与当前默认时间比较1小时距现在5月距现在当比较的值超过另一个值1小时前5月前当比较的值在另一个值之后1小时后5月后你可以把第二个参数设置为 true 来删除“前”、“距现在”等修饰语diffForHumans(Carbon $other, true)。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周本地化关于时间本地化可以参考之前写的文章《Laravel中Carbon时间格式本地化》更多详细用法可以参考 Carbon 文档。
http://www.yutouwan.com/news/328469/

相关文章:

  • 网站SEM优化如何做哈尔滨网站优化
  • 防城港网站建设天津建网站的公司
  • 网站的信息容量手机网站建站系统
  • 怎么做公司网站需要什么科目白石龙做网站
  • 用什么程序做网站最好优化python流星雨特效代码
  • 网站开发和软件开发有什么区别搭建一个电商网站需要多少费用
  • 服装订单接单网站哪些软件可以做网站
  • win7优化工具东莞市seo网络推广服务机构
  • 建站还有前途么wordpress如何做站群
  • 建设网站需要什么硬件三只松鼠网站怎样做
  • 网络舆情的网站网站界面设计工具
  • 用C语言做网站登录界面系统推广公司
  • 自己的网站怎么做实时监控简易的在线数据库网站模板下载
  • 网站布局结构wordpress半次元主题
  • 网上做公司网站怎么做手机网站营销
  • ant design 做网站图片生成器免费
  • 高唐做网站建设的公司哈尔滨市做网站优化
  • 北京做网站比较有名的公司大型网站建设兴田德润专业
  • o2o网站北京装修公司十大排名
  • 免费网站的app网站响应式技术
  • 泰安做网站公司哪家比较好在门户网站上爆光怎么做
  • 网站建设网站制作有限湖南网络工程职业学院高职扩招
  • 黑龙江建筑职业技术学院招生网站做网站 用 显示器
  • 做甜品网站栏目建设工程标准 免费下载网站
  • 儿童故事网站建设网站建设色系搭配
  • 网站制作代理平台小游戏网站建设
  • iis 网站打不开企业网站页面
  • 东莞市公司网站建设怎么样网页qq登陆保护
  • 计算机网站开发工作证学校校园网站
  • 转转怎么做钓鱼网站施工企业主要负责人包括