我datetime
在MySQL中有一个专栏.
如何使用PHP 将其转换为显示为mm/dd/yy H:M(AM/PM)?
如果您正在寻找将日期规范化为MySQL格式的方法,请使用以下方法
$phpdate = strtotime( $mysqldate ); $mysqldate = date( 'Y-m-d H:i:s', $phpdate );
该行$phpdate = strtotime( $mysqldate )
接受一个字符串并执行一系列启发式操作,将该字符串转换为unix时间戳.
该行$mysqldate = date( 'Y-m-d H:i:s', $phpdate )
使用该时间戳和PHP的date
函数将该时间戳转换回MySQL的标准日期格式.
(编者注:这里的答案是因为一个原始问题,措辞混乱,以及即使它没有'直接回答现在存在的问题',这个答案提供的一般Google有用性
要将从MySQL检索的日期转换为requested(mm/dd/yy H:M (AM/PM)
)格式:
// $datetime is something like: 2014-01-31 13:05:59 $time = strtotime($datetimeFromMysql); $myFormatForView = date("m/d/y g:i A", $time); // $myFormatForView is something like: 01/31/14 1:05 PM
请参阅PHP日期格式选项以调整格式.
如果您使用的是PHP 5,也可以尝试
$oDate = new DateTime($row->createdate); $sDate = $oDate->format("Y-m-d H:i:s");
$valid_date = date( 'm/d/y g:i A', strtotime($date));
参考: http ://php.net/manual/en/function.date.php
最后是PHP 5.3及以上版本的正确解决方案:
$date = \DateTime::createFromFormat('Y-m-d H:i:s', $mysql_source_date, new \DateTimeZone('UTC')); $date->setTimezone(new \DateTimeZone('Europe/Berlin')); // optional echo $date->format('m/d/y h:i a');
一种更简单的方法是直接在MySQL查询中格式化日期,而不是PHP.请参阅DATE_FORMAT的MySQL手册条目.
如果你宁愿用PHP做,那么你需要date函数,但是你必须先将数据库值转换为时间戳.
忘记所有.只需使用:
$date = date("Y-m-d H:i:s",strtotime(str_replace('/','-',$date)))
要正确格式化DateTime
PHP中的对象以便在MySQL中存储,请使用MySQL使用的标准化格式,即ISO 8601.
从版本5.1.1开始,PHP已将此格式存储为常量,我强烈建议您使用它,而不是每次都手动键入字符串.
$dtNow = new DateTime(); $mysqlDateTime = $dtNow->format(DateTime::ISO8601);
这个以及其他PHP DateTime常量的列表可以在http://php.net/manual/en/class.datetime.php#datetime.constants.types上找到.
这应格式化SQL查询中的字段:
SELECT DATE_FORMAT( `fieldname` , '%d-%m-%Y' ) FROM tablename
使用日期功能:
取决于您的MySQL日期时间配置.通常:2011-12-31 07:55:13格式.这个非常简单的功能应该是神奇的:
function datetime() { return date( 'Y-m-d H:i:s', time()); } echo datetime(); // display example: 2011-12-31 07:55:13
或者更进一步以匹配问题.
function datetime($date_string = false) { if (!$date_string) { $date_string = time(); } return date("Y-m-d H:i:s", strtotime($date_string)); }
SELECT DATE_FORMAT(demo.dateFrom, '%e.%M.%Y') as dateFrom, DATE_FORMAT(demo.dateUntil, '%e.%M.%Y') as dateUntil FROM demo
如果您不想更改PHP代码中的每个函数,要显示预期的日期格式,请在源代码中更改它 - 您的数据库.
使用上面的示例中的as运算符命名行很重要(作为dateFrom,作为dateUntil).您在那里写的名称是名称,行将在您的结果中调用.
这个例子的输出将是
[月份的日期,数字(0..31)].[月份名称(1月〜12月)].[年份,数字,4位数]
示例:5.2015年8月
使用选择的分隔符更改点,并检查DATE_FORMAT(日期,格式)函数以获取更多日期格式.