我有一个html形式的日历,我想把这个日期插入MySQL。MySQL的默认日期是0000-00-00
。但是在我的国家,格式是DD/MM/YYYY
。那么该怎么解决呢?谢谢你!
你必须在你的HTML页面中使用一种格式,在你的数据库中使用另一种格式。
所以,如果你想在mySql中存储一个像'12/05/2008'这样的日期,你必须像这样转换它:
$date = '12/05/2008';
$dateToStore = date('Y-m-d', strtotime(str_replace('/','-',$date)));
如果你想知道为什么,你需要用'-'代替'/',让php知道数据字符串的第一部分是天,然后是月(我认为是你的情况)。
MySQL的日期格式始终是YYYY-MM-DD。要将其转换为另一种格式,需要手动将检索到的日期转换为所需的格式,如
$displayDate=date("d/M/Y", strtotime($mysqldate));
方法1
不能插入DD/MM/YYYY
格式。相反,在视图文件中呈现时,您可以将其更改为所需的格式。
<?php
$date = $result['db_date']; // I ASSUMED YOUR DB FIELD IS db_date
$desiredFormat = date('d/m/Y', strtotime($date)); // CONVERTING INTO YOUR FORMAT
echo '<pre>'; print_r($desiredFormat); // DISPLAYING IT
?>
方法2
您可以使用下面的
以所需的格式从数据库中检索SELECT *, DATE_FORMAT(YOUR_DATE_FIELD, "%m/%d/%Y") AS date FROM YOUR_TABLE;
使用MySQL STR_TO_DATE
试试这个mysql查询:-
INSERT INTO `table`(`date`) VALUES (STR_TO_DATE('10/10/2015', '%d/%m/%Y'))