我有一个字段设置为在mysql表中键入date。我从用户那里得到日,月和年,此刻我返回的值是这样的:

[start_dateMonth] => 08 //$stardMonth
[start_dateDay] => 7 //$startDay
[start_dateYear] => 2013 //$startYear


如何将其转换为可以轻松插入数据库的有效日期?

这是我自己的代码,但是由于某些原因,浏览器仅显示空白屏幕,内部没有源代码:

$format = 'Y-m-d H:i:s';
$start = DateTime::createFromFormat($format, "$startYear-$startMonth-$startDay $startHour:$startMinutes:00");

echo $start;

最佳答案

从手册

尽管MySQL尝试以多种格式解释值,但是日期部分必须始终以年月日顺序(例如'98 -09-04')给出,而不是以月日日年或天月月日其他地方常用的年份订单(例如,“ 09-04-98”,“ 04-09-98”)

。包含两位数字年份值的日期是不明确的,因为世纪是未知的。 MySQL使用以下规则解释两位数的年份值:70-99范围内的年份值转换为1970-1999.00-69范围内的年份值转换为2000-2069。

位于这里
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-types.html

date("Y-m-d")如果要使用php函数生成

10-04 22:28
查看更多