laravel的carbon日期函数创建指定的now()日期以及遇到的一些坑
一、关于carbon()日期函数
这个东西,我也是最近才接触,之前用的laravel 5.1,处理时间类还是使用最老套的方法,实在是烦不胜烦。初见carbon简直惊为天人,目前laravel 5.5默认的就是这个日期处理方法。很强大,很好用。
文档部分:
github地址:https://github.com/briannesbitt/carbon
国内文档:https://9iphp.com/web/laravel/php-datetime-package-carbon.html
二、carbon创建指定的日期为now()函数
需求:需要指定一个变量来操作这个变量下的日期。比如指定日期为5月14日,那么我们获取的“昨天”,或者“明天”,都是依据于5月14日来的。这种情况下,最佳的方式就是创建一个now()函数,为我们想要的日期。
$knownDate = Carbon::create(2018, 5, 14,0,0,0); // 创建日期为2018年5月14日
Carbon::setTestNow($knownDate); // 此时对应的now()函数是2018年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) "2018-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
laravel的carbon日期函数创建指定的now()日期以及遇到的一些坑相关推荐
- 【hive 日期函数 大全】Hive常用日期函数整理 史上最全
[hive 日期函数 大全]Hive常用日期函数整理注意:1) hive 没有 to_char函数 2) HIVE 日期函数只识别 年-月-日 不能识别 年-月 ,所以处理月份的时候需要特殊处理1)h ...
- c语言creat,C语言creat()函数:创建指定文件名的文件
函数名:creat 头文件: 函数原型: int creat(const char *file,int auth); 功能: 创建指定文件名的文件 参数:char *file 要创建的文件名 , in ...
- hive内嵌时间日期函数:所有关于时间日期的函数
日期函数在hive中很常用,甚至有时候要自定义时间函数.首先hive中存放的数据经常是按时间分区进行存储的,有时候按时间分区的时间就是从日志中国解析出来的时间,或者有时候截取时间进行区间划分.比如我们 ...
- oracle 创建工作日表,oracle下sql创建指定年份全年日期表(区分工作日)
作者的话: 当系统执行到本处sql时,将本年度(或指定年份)一整年365天对应的是否为工作日情况数据插入到指定表中(如:0表示工作日,1表示双休日,法定节假日手动调整). 1.创建表: create ...
- oracle 生成日期列表,oracle下sql创建指定年份全年日期表(区分工作日)
作者的话: 当系统执行到本处sql时,将本年度(或指定年份)一整年365天对应的是否为工作日情况数据插入到指定表中(如:0表示工作日,1表示双休日,法定节假日手动调整). 1.创建表: create ...
- DAX_日期函数创建表
DAX日期表 = ADDCOLUMNS ( CALENDAR ( DATE(2016,1,1),DATE(2017,12,31) ), "年", YEAR ( [DATE] )&a ...
- java创建一个指定的日期_创建指定日期java Date对象
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...
- oracle和MySQL的日期函数_mysql与oracle的日期/时间函数小结
前言 本文的日期/时间全部格式化为"2016-01-01 01:01:01"形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时 ...
- java日期函数精确到日,java日期时间函数分享
前言: 对于新手程序员的我来说,写业务代码是现在的日常,在此过程中经常需要对日期时间进行处理,我挑了几个较有用的日期处理函数分享给大家. 正文: 1.将某格式的时间字符串转化成毫秒时间戳表示的字符串: ...
最新文章
- Java开发必会的Linux命令
- Yii框架官方指南系列43——专题:URL(创建、路由、美化及自定义)
- 【Spark篇】---SparkStream初始与应用
- 垃圾收集算法,垃圾收集器_您正在使用什么垃圾收集器?
- 猫眼电影评论_电影的人群意见和评论家的意见一样好吗?
- Rand函数使用和对补码的理解
- HTML学习笔记:实现条纹边框
- 锤子手机成绝唱了,网友微博喊话罗永浩:赶快买回来吧!
- 和平精英连接服务器未响应,和平精英触控失灵怎么回事 操作触屏有时候没反应介绍...
- 2021年POS机费率上调了吗?
- bzoj 1878: [SDOI2009]HH的项链 ——树状数组+ 差分
- 普林斯顿微积分读本篇一:函数
- 飞机订票系统- c语言课程设,C语言课程设计飞机订票系统设计
- 发电厂电气部分第三版pdf_“十三五”普通高等教育本科规划教材 发电厂电气设备及运行(第三版) pdf epub mobi txt 下载...
- u盘计算机软件,USBoot(U盘启动盘制作工具)
- 图像处理之灰度化和二值化
- 文件扫描生成PDF文件或图片,扫描效果碾压WPS及全能扫描王
- 编码格式转换--常见编码间的转换以及中文简繁互换
- AppleTalk:Apple 公司协议组--网络大典
- 使用Aspose在Java中将Excel文件转换为HTML