Laravel timestamps 设置为unix时间戳
来源:互联网 发布:莎莎源码的解压密码 编辑:程序博客网 时间:2024/06/06 20:22
转载自:http://zhuzhichao.com/post/2014/10/laravel-timestamps-to-set-unix-timestamps/?utm_source=tuicool&utm_medium=referral
相信对于 Laravel 提供了自动的 timestamps 使用起来一定让大家很开心吧!
只要大家在数据库表中创建了 craeted_at
和 updated_at
字段之后, Laravel 已经准备好了给你提供各种服务了 ^^。比如说,模型继承了 Eloquent
之后,便会在 $model->save()
$model->update()
$model->push()
$model->touch()
的时候更新时间戳字段。对,全自动,一切都给你搞定了,真的很爽。
当然,禁止它们这种体贴的行为很简单,只要在继承的模型里面这样写就可以了
class User extends Eloquent { public $timestamps = false;}
嗯,设置 $timestamps = false
既可。
可是,这么好用的,堪称完美的功能为什么不用呢?为什么呢?我也很纳闷。
呃,难道因为它是标准的日期时间类型吗?而你喜欢在项目里面用上分分钟都无法计算出来哪一天的unix时间戳?
好吧,你说这是因为老项目数据库的原因,原谅你一回。下面就告诉你怎么搞定它,让它如你所愿,好让你爽到爆!
class BaseModel extends Eloquent { /** * 默认使用时间戳戳功能 * * @var bool */ public $timestamps = true; /** * 获取当前时间 * * @return int */ public function freshTimestamp() { return time(); } /** * 避免转换时间戳为时间字符串 * * @param DateTime|int $value * @return DateTime|int */ public function fromDateTime($value) { return $value; } /** * select的时候避免转换时间为Carbon * * @param mixed $value * @return mixed */// protected function asDateTime($value) {// return $value;// } /** * 从数据库获取的为获取时间戳格式 * * @return string */ public function getDateFormat() { return 'U'; }}
你可以会注意到了我这里注释掉了 asDateTime
这个方法。在这里,我想在模型对象读取这两个字段的时候输出的是标准的日期时间字符串,这样的话我就可以省点力去转换了。
如果你想只获取日期的话,可以用这样的姿势获得结果:
$model->created_at->format('Y-m-d');
还有,注意啊,你的数据库字段一定别再是 datetime
了,换成 int 型吧。
静静享受 Laravel 自动维护 timestamps 带给你的方便吧!
- Laravel timestamps 设置为unix时间戳
- 理解ext4,第二部分时间戳(Timestamps)
- laravel migration如何设置时间戳类型默认值为插入时间
- Unix时间戳转换为标准时间
- Laravel在model类里关闭timestamps
- js 日期转化为unix时间戳
- 将北京时间转化为Unix时间戳
- unix时间戳转换为日期格式
- laravel记住登录、设置时间
- JavaScript unix时间戳转换为普通时间
- unix/linux 时间戳转换为标准时间格式
- Java将时间转换为UNIX时间戳
- python中将UNIX时间戳转换为正常时间
- mysql将日期时间转换为UNIX时间戳
- mongoose自动记录操作时间(timestamps妙用)
- python:从任意格式的时间转换为Unix时间戳(Unix timestamp)
- javascript 转换为UNIX时间戳,PHP可用
- mysql转换UNIX时间戳为标准日期格式
- web分布式方案
- codeforces 738D Sea Battle 思维+构造
- Java——>IO
- file结构中的private_data
- 自定义View(一):初认识自定义Veiw
- Laravel timestamps 设置为unix时间戳
- 项目管理进阶--软件开发项目中的团队组成
- 阿里云CentOS配置Java,Tomcat,MySQL
- 数据结构学习笔记(一):数组及查找算法
- Exception in thread "main" java.lang.NoClassDefFoundError解决了
- 最长递增子序列 动态规划基础
- Codeforces Round #380 (Div. 2) D. Sea Battle
- 第23天 线程的调度问题(优先级)
- Java监控MongoDB空间使用量、连接数