脚本宝典收集整理的这篇文章主要介绍了php – Doctrine:获取和设置字段值时更改日期格式,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
class Curs extends BaseCurs { PRivate function fechaDesdeEsp($fecha){ $fecha = new DateTime($fecha); return $fecha->format('Y-m-d'); } private function fechaDesdeiso($fecha){ $fecha = new DateTime($fecha); return $fecha->format('d/m/Y'); } public function setFechainici($fecha_inici) { return $this->_set('fecha_inici',$this->fechaDesdeEsp($fecha_inici)); } public function getFechainici() { return $this->fechaDesdeIso($this->_get('fecha_inici')); } }
希望您找到解决方案,先谢谢
/// models/DateFormatBehaior.PHP class DateFormatListener extends Doctrine_Record_Listener{ public function preInsert(Doctrine_event $Event){ $this->_prepare_date($Event); } public function preUpdate(Doctrine_event $Event){ $this->_prepare_date($Event); } // Private stuff private function _prepare_date(Doctrine_event $Event){ $Model = $Event->getInvoker(); foreach($Model->getTable()->getColumns() as $FieldName=>$Field){ if($Field['tyPE']=='timestamp'){ if(preg_match("/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/",$Model[$FieldName],$Matches)){ $Model->$FieldName = sprintf("%s-%s-%s 00:00:00",$Matches[3],$Matches[2],$Matches[1]); // YYYY-DD-MM HH:MM:SS } } } } } class DateFormatTemplate extends Doctrine_Template{ public function setTableDeFinition(){ $this->addListener(new DateFormatListener); } }
然后,每个具有时间戳字段的模型:
/// models/MyModel.PHP abstract class MyModel extends Doctrine_Record{ public function setTableDeFinition(){ // [...] } public function SETUP(){ parent::setUp(); $this->actAs("DateFormatTemplate"); // [...] } }
以上是脚本宝典为你收集整理的php – Doctrine:获取和设置字段值时更改日期格式全部内容,希望文章能够帮你解决php – Doctrine:获取和设置字段值时更改日期格式所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。