Laravel中七个非常有用但很少人知道的Carbon方法
前言
大家应该都知道,我们在很多时候使用Carbon来处理日期和时间,对吗?但是又有多少人完整的阅读过文档了解它有那些方法呢?除了众所周知的now()和format()方法,Carbon还有很多其他有用的方法。
下面我们一起来看看吧。
1.isX:True/False
有很多方法来判断Carbon对象是否是今天、周末、闰年等等,下面这些是官方文档列出来的:
isWeekday(); $dt->isWeekend(); $dt->isYesterday(); $dt->isToday(); $dt->isTomorrow(); $dt->isFuture(); $dt->isPast(); $dt->isLeapYear(); $dt->isSameDay(Carbon::now());
2.isBirthday
除了上面的列表,Carbon还有一个方法来判断日期是否是某个人的生日。除了单开校验月和日外,你还可以这么做:
$born=Carbon::createFromDate(1987,4,23); $noCake=Carbon::createFromDate(2014,9,26); $yesCake=Carbon::createFromDate(2014,4,23); var_dump($born->isBirthday($noCake));//bool(false) var_dump($born->isBirthday($yesCake));
3.StartOfX和EndOfX列表
下面是startOfX系列和endOfX系列:
$dt=Carbon::create(2012,1,31,12,0,0); echo$dt->startOfDay();//2012-01-3100:00:00 echo$dt->endOfDay();//2012-01-3123:59:59 echo$dt->startOfMonth();//2012-01-0100:00:00 echo$dt->endOfMonth();//2012-01-3123:59:59 echo$dt->startOfYear();//2012-01-0100:00:00 echo$dt->endOfYear();//2012-12-3123:59:59 echo$dt->startOfDecade();//2010-01-0100:00:00 echo$dt->endOfDecade();//2019-12-3123:59:59 echo$dt->startOfCentury();//2000-01-0100:00:00 echo$dt->endOfCentury();//2099-12-3123:59:59 echo$dt->startOfWeek();//2012-01-3000:00:00 echo$dt->endOfWeek();//2012-02-0523:59:59
4.Today,Tomorrow,Yesterday
三个简单却非常有用的方法,不需要调用now(),然后替换掉时分秒,然后增加或者减去天数:
$today=Carbon::today();//assuming2016-06-24 echo$today;//2016-06-2400:00:00 $tomorrow=Carbon::tomorrow(); echo$tomorrow;//2016-06-2500:00:00 $yesterday=Carbon::yesterday(); echo$yesterday;//2016-06-2300:00:00
5.DiffForHumans+本地化
你可能用过这个叫做diffForHumans()的方法–它会以一个便于人们阅读的方法返回两个日期之间的不同:
echoCarbon::now()->subDays(5)->diffForHumans();//5daysago
但是你知道它也可以本地化吗?只需要改变地点即可,如汉语:
Carbon::setLocale('zh'); echoCarbon::now()->addYear()->diffForHumans();//一年前
6.改变now()为任意你想要的时间
$knownDate=Carbon::create(2001,5,21,12);//创建测试日期 Carbon::setTestNow($knownDate);//setthemock echoCarbon::now();//2001-05-2112:00:00
7.星期常量
可以通过下面的常量来代替一周中的第几天:
var_dump(Carbon::SUNDAY);//int(0) var_dump(Carbon::MONDAY);//int(1) var_dump(Carbon::TUESDAY);//int(2) var_dump(Carbon::WEDNESDAY);//int(3) var_dump(Carbon::THURSDAY);//int(4) var_dump(Carbon::FRIDAY);//int(5) var_dump(Carbon::SATURDAY);//int(6)
上面提到的这些有用的方法你都了解吗?可以在留言种列出你觉得有用的方法。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。