我输入了我得到的值:
$water = 11/04/2013 00:00:00
(日/月/年)小时:分钟:秒
表格定义:
CREATE TABLE `my_to` (
id_a INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
last_time timestamp ,
water timestamp
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
但是当我尝试插入时,表格中没有任何价值...... 我应该转换一天还是什么?
假设$ water有日期和时间值?
$timestamp = strtotime($water);
插入表.... $ timestamp?
答案 0 :(得分:3)
您可以使用MySQL的STR_TO_DATE
功能:
INSERT INTO `table`( `date_field` )
VALUES( STR_TO_DATE( $water, '%d/%m/%Y %H:%i:%S' );
答案 1 :(得分:1)
您要插入的时间戳必须采用YYYY-MM-DD HH:II:SS
格式。
您可以使用date('Y-m-d H:i:s', strtotime($water))
。
希望这有帮助!
答案 2 :(得分:1)
mysql中的时间戳必须是YYYY-MM-DD HH:II:SS格式。您可以在php中使用
执行此操作Date('Y-m-d H:i:s', strtotime($water))
您也可以使用FROM_UNIXTIME mysql函数
答案 3 :(得分:1)
http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
正确的语法是:0000-00-00 00:00:00
所以..
$time = '11/04/2013 00:00:00';
$time = strtotime($time);
$time = date('Y-m-d H:i:s', $time);
# INSERT TIME...
答案 4 :(得分:0)
water DATETIME
或用NOW()或CURRENT_TIMESTAMP
填充字段答案 5 :(得分:0)
请注意strtotime()
以mm/dd/YYYY
格式解释该日期,而不是dd/mm/YYYY
。
您应该以不同的格式重新排列日期(YYYY-mm-dd
将是最好的,imho)。