我正在编写我的第一个
PHP应用程序,它必须直接处理日期,因此直接处理PHP和MysqL具有不同日期格式的事实.
我的问题是:管理这种差异最优雅的方法是什么?
function MysqL_date($PHP_date) { return date( 'Y-m-d H:i:s',$PHP_date ); } function PHP_date($MysqL_date) { $val = explode(" ",$MysqL_date); $date = explode("-",$val[0]); $time = explode(":",$val[1]); return mktime($time[0],$time[1],$time[2],$date[1],$date[2],$date[0]); }
或者你能建议任何其他更优雅的方式来管理这个吗?
从PHP(5.2)开始,PHP有一个用于处理Dates和Times的内置类/对象,称为
DateTime.在一个空白中,使用内置的东西总比使用乱码细节更好.
原文链接:https://www.f2er.com/php/133612.htmlDateTime构造函数(或date_create函数)接受strToTime可理解的任何格式的日期.关于strToTime你需要知道的是它的神奇伏都教能够正确识别几乎任何字符串格式的日期.当我第一次遇到strToTime时,我现在遇到了同样的内部反应(“那是废话/似乎不可靠”).不是.它的运作方式是你自己对日期的脆弱理解永远不会(如果你认为你理解日期,你就不会.相信我.)
因此,从MysqL中获取信息作为日期/时间字符串,并立即创建一个PHP日期对象.当/如果您再次需要日期作为字符串时,请使用date_format方法(带有一些handy constants).