Carbon
是由Brian Nesbit
开发的一个包,它扩展了 PHP 自己的DateTime
类。
设置
<?php
use Carbon\Carbon;
获取特定的日期/时间
// 获取当前时间 - 2015-12-19 10:10:54
$current = Carbon::now();
$current = new Carbon();
// 获取今天 - 2015-12-19 00:00:00
$today = Carbon::today();
// 获取昨天 - 2015-12-18 00:00:00
$yesterday = Carbon::yesterday();
// 获取明天 - 2015-12-20 00:00:00
$tomorrow = Carbon::tomorrow();
// 解析特定字符串 - 2016-01-01 00:00:00
$newYear = new Carbon('first day of January 2016');
// 设定一个特定的时区 - 2016-01-01 00:00:00
$newYearPST = new Carbon('first day of January 2016', 'America\Pacific');
Carbon::createFromDate($year, $month, $day, $tz);
Carbon::createFromTime($hour, $minute, $second, $tz);
Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);
操作日期/时间
// 获取当前时间
$current = Carbon::now();
// 添加 30 天到当前时间
$trialExpires = $current->addDays(30);
$dt = Carbon::create(2012, 1, 31, 0);
echo $dt->toDateTimeString(); // 2012-01-31 00:00:00
echo $dt->addYears(5); // 2017-01-31 00:00:00
echo $dt->addYear(); // 2018-01-31 00:00:00
echo $dt->subYear(); // 2017-01-31 00:00:00
echo $dt->subYears(5); // 2012-01-31 00:00:00
echo $dt->addMonths(60); // 2017-01-31 00:00:00
echo $dt->addMonth(); // 2017-03-03 00:00:00 equivalent of $dt->month($dt->month + 1); so it wraps
echo $dt->subMonth(); // 2017-02-03 00:00:00
echo $dt->subMonths(60); // 2012-02-03 00:00:00
echo $dt->addDays(29); // 2012-03-03 00:00:00
echo $dt->addDay(); // 2012-03-04 00:00:00
echo $dt->subDay(); // 2012-03-03 00:00:00
echo $dt->subDays(29); // 2012-02-03 00:00:00
echo $dt->addWeekdays(4); // 2012-02-09 00:00:00
echo $dt->addWeekday(); // 2012-02-10 00:00:00
echo $dt->subWeekday(); // 2012-02-09 00:00:00
echo $dt->subWeekdays(4); // 2012-02-03 00:00:00
echo $dt->addWeeks(3); // 2012-02-24 00:00:00
echo $dt->addWeek(); // 2012-03-02 00:00:00
echo $dt->subWeek(); // 2012-02-24 00:00:00
echo $dt->subWeeks(3); // 2012-02-03 00:00:00
echo $dt->addHours(24); // 2012-02-04 00:00:00
echo $dt->addHour(); // 2012-02-04 01:00:00
echo $dt->subHour(); // 2012-02-04 00:00:00
echo $dt->subHours(24); // 2012-02-03 00:00:00
echo $dt->addMinutes(61); // 2012-02-03 01:01:00
echo $dt->addMinute(); // 2012-02-03 01:02:00
echo $dt->subMinute(); // 2012-02-03 01:01:00
echo $dt->subMinutes(61); // 2012-02-03 00:00:00
echo $dt->addSeconds(61); // 2012-02-03 00:01:01
echo $dt->addSecond(); // 2012-02-03 00:01:02
echo $dt->subSecond(); // 2012-02-03 00:01:01
echo $dt->subSeconds(61); // 2012-02-03 00:00:00
Getters and Setters
$dt = Carbon::now();
// 设置一些参数
$dt->year = 2015;
$dt->month = 04;
$dt->day = 21;
$dt->hour = 22;
$dt->minute = 32;
$dt->second = 5;
// 获取一些参数
var_dump($dt->year);
var_dump($dt->month);
var_dump($dt->day);
var_dump($dt->hour);
var_dump($dt->second);
var_dump($dt->dayOfWeek);
var_dump($dt->dayOfYear);
var_dump($dt->weekOfMonth);
var_dump($dt->daysInMonth);
$dt = Carbon::now();
$dt->year(1975)->month(5)->day(21)->hour(22)->minute(32)->second(5)->toDateTimeString();
$dt->setDate(1975, 5, 21)->setTime(22, 32, 5)->toDateTimeString();
$dt->setDateTime(1975, 5, 21, 22, 32, 5)->toDateTimeString();
格式化
$dt = Carbon::now();
echo $dt->toDateString(); // 2015-12-19
echo $dt->toFormattedDateString(); // Dec 19, 2015
echo $dt->toTimeString(); // 10:10:16
echo $dt->toDateTimeString(); // 2015-12-19 10:10:16
echo $dt->toDayDateTimeString(); // Sat, Dec 19, 2015 10:10 AM
// ……当然 format() 也可以这样用
echo $dt->format('l jS \\of F Y h:i:s A');// Saturday 19th of December 2015 10:10:16 AM
相对时间:求时间差
$current = Carbon::now();
$dt = Carbon::now();
$dt = $dt->subHours(6);
echo $dt->diffInHours($current, false); // 6,相当于 $current-$dt,这里的false表示结果不取绝对值,默认是值是true
echo $current->diffInHours($dt, false); // -6,相当于 $dt-$current
$future = $current->addMonth();
$past = $current->subMonths(2);
echo $current->diffInDays($future); // 31
echo $current->diffInDays($past); // -62
$dt = Carbon::now();
$past = $dt->subMonth();
$future = $dt->addMonth();
echo $dt->subDays(10)->diffForHumans(); // 10 天前
echo $dt->diffForHumans($past); // 1 个月前
echo $dt->diffForHumans($future); // 1 个月前
以上是编程学习网小编为您介绍的“新手入门:php日期时间总结”的全面内容,想了解更多关于 php入门 内容,请继续关注编程基础学习网。
沃梦达教程
本文标题为:新手入门:php日期时间总结
基础教程推荐
猜你喜欢
- php实现富文本html内容转doc文档 2022-09-23
- php基于文本搜索的实例代码 2022-08-22
- 前端用PHP写简单的新增接口(二) 2024-12-04
- PHP自动更新新闻实现办法的示例代码 2022-08-08
- php读取数据库里的数据以JSON格式返回数据 2024-05-12
- php利用for语句和substr()函数怎么实现字符串的反转 2024-12-04
- PHP根据出生日期计算年龄 2022-07-15
- PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】 2022-08-01
- Ajax跨域请求PHP header设置 2022-10-13
- 新手入门:php如何实现增删改? 2024-12-04