1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > laravel的carbon日期函数创建指定的now()日期以及遇到的一些坑

laravel的carbon日期函数创建指定的now()日期以及遇到的一些坑

时间:2021-09-19 20:54:26

相关推荐

laravel的carbon日期函数创建指定的now()日期以及遇到的一些坑

一、关于carbon()日期函数

这个东西,我也是最近才接触,之前用的laravel 5.1,处理时间类还是使用最老套的方法,实在是烦不胜烦。初见carbon简直惊为天人,目前laravel 5.5默认的就是这个日期处理方法。很强大,很好用。

文档部分:

github地址:/briannesbitt/carbon

国内文档:/web/laravel/php-datetime-package-carbon.html

二、carbon创建指定的日期为now()函数

需求:需要指定一个变量来操作这个变量下的日期。比如指定日期为5月14日,那么我们获取的“昨天”,或者“明天”,都是依据于5月14日来的。这种情况下,最佳的方式就是创建一个now()函数,为我们想要的日期。

$knownDate = Carbon::create(, 5, 14,0,0,0); // 创建日期为5月14日Carbon::setTestNow($knownDate); // 此时对应的now()函数是5月14日

创建之后,我们根据当前方法中的now()函数获取到的都是5月14日。

三、遇到的一些坑

1、在我们创建好now()函数之后,不要随意的初始化carbon

此处的parse: parse方法解析任何顺序和类型的日期(结果为 Carbon 类型的日期时间对象)

//执行此操作之后,会默认还原now()函数为当前的时间。$time = Carbon::parse($time);

如果我们还想使用now()为5月14日,那只能换一种方式:

//相当于直接解析的时候,就用carbon类型的日期,这样就不用重新初始化了$time = Carbon::parse(now()->toDateString());

2、carbon类型日期函数

在我们常用的日期函数中,日期的类型多为字符串类型,我们可以用原生的php来进行一些操作。

//此处是carbon对应的日期类型,是对象格式的object(Carbon\Carbon)#1212 (3) {["date"]=>string(26) "-05-29 00:00:00.000000"["timezone_type"]=>int(3)["timezone"]=>string(3) "PRC"}

所以我们在操作日期的时候,一定要谨记时间日期的类型,免得出错。

3、更改日期提示为中文

正常Carbon格式的时间使用diffForHumans() 得到的是 1 day ago这种英文提示。如果想转换为中文的话,可以去

//去该目录下app/Providers/AppServiceProvider.php //修改下面的值静态方法 setLocale('en')改为setLocale('zh')

框架的目的在于提升开发的一致性,简便性。laravel都做到了,很赞。

end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。