1、获取当前时间
echo Carbon :: now ( ) ;
echo Carbon :: now ( 'America/Los_Angeles' ) ;
2、获取昨今明天
echo Carbon :: today ( ) ;
echo Carbon :: tomorrow ( 'America/Los_Angeles' ) ;
echo Carbon :: yesterday ( ) ;
3、转字符串类型
echo Carbon :: today ( ) -> toDateTimeString ( ) ;
echo Carbon :: yesterday ( ) -> toDateTimeString ( ) ;
echo Carbon :: tomorrow ( ) -> toDateTimeString ( ) ;
4、日期解析
echo Carbon :: parse ( '2016-10-15' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '2016-10-15' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '2016-10-15 00:10:25' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( 'today' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( 'yesterday' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( 'tomorrow' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '2 days ago' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '+3 days' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '+2 weeks' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '+4 months' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( '-1 year' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( 'next wednesday' ) -> toDateTimeString ( ) ;
echo Carbon :: parse ( 'last friday' ) -> toDateTimeString ( ) ;
5、构造日期
$year = '2015' ;
$month = '04' ;
$day = '12' ;
echo Carbon :: createFromDate ( $year , $month , $day ) ;
$hour = '02' ;
$minute = '15' :
$second = '30' ;
echo Carbon :: create ( $year , $month , $day , $hour , $minute , $second ) ;
echo Carbon :: createFromDate ( null , 12 , 25 ) ;
6、日期运算
echo Carbon :: now ( ) -> addDays ( 25 ) ;
echo Carbon :: now ( ) -> addWeeks ( 3 ) ;
echo Carbon :: now ( ) -> addHours ( 25 ) ;
echo Carbon :: now ( ) -> subHours ( 2 ) ;
echo Carbon :: now ( ) -> addHours ( 2 ) -> addMinutes ( 12 ) ;
echo Carbon :: now ( ) -> modify ( '+15 days' ) ;
echo Carbon :: now ( ) -> modify ( '-2 days' ) ;
7、日期比较
echo Carbon :: now ( ) -> tzName ;
$first = Carbon :: create ( 2012 , 9 , 5 , 23 , 26 , 11 ) ;
$second = Carbon :: create ( 2012 , 9 , 5 , 20 , 26 , 11 , 'America/Vancouver' ) ;
echo $first -> toDateTimeString ( ) ;
echo $first -> tzName ;
echo $second -> toDateTimeString ( ) ;
echo $second -> tzName ;
var_dump ( $first -> eq ( $second ) ) ;
var_dump ( $first -> ne ( $second ) ) ;
var_dump ( $first -> gt ( $second ) ) ;
var_dump ( $first -> gte ( $second ) ) ;
var_dump ( $first -> lt ( $second ) ) ;
var_dump ( $first -> lte ( $second ) ) ;
$first -> setDateTime ( 2012 , 1 , 1 , 0 , 0 , 0 ) ;
$second -> setDateTime ( 2012 , 1 , 1 , 0 , 0 , 0 ) ;
var_dump ( $first -> eq ( $second ) ) ;
var_dump ( $first -> ne ( $second ) ) ;
var_dump ( $first -> gt ( $second ) ) ;
var_dump ( $first -> gte ( $second ) ) ;
var_dump ( $first -> lt ( $second ) ) ;
var_dump ( $first -> lte ( $second ) ) ;
8、判断一个日期是否介于两个日期之间
$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 ) ) ;
var_dump ( Carbon :: create ( 2012 , 9 , 5 , 5 ) -> between ( $first , $second ) ) ;
var_dump ( Carbon :: create ( 2012 , 9 , 5 , 5 ) -> between ( $first , $second , false ) ) ;
9、辅助方法
$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 ) ) ;
var_dump ( $born -> isBirthday ( $yesCake ) ) ;
var_dump ( $overTheHill -> isBirthday ( ) ) ;
10、将时间转为文字描述
echo Carbon :: now ( ) -> subDays ( 5 ) -> diffForHumans ( ) ;
echo Carbon :: now ( ) -> diffForHumans ( Carbon :: now ( ) -> subYear ( ) ) ;
$dt = Carbon :: createFromDate ( 2011 , 8 , 1 ) ;
echo $dt -> diffForHumans ( $dt -> copy ( ) -> addMonth ( ) ) ;
echo $dt -> diffForHumans ( $dt -> copy ( ) -> subMonth ( ) ) ;
echo Carbon :: now ( ) -> addSeconds ( 5 ) -> diffForHumans ( ) ;
echo Carbon :: now ( ) -> subDays ( 24 ) -> diffForHumans ( ) ;
echo Carbon :: now ( ) -> subDays ( 24 ) -> diffForHumans ( null , true ) ;