在php中的mysql中插入时间戳发布的值

时间:2013-04-06 21:13:51

标签: php mysql time

我输入了我得到的值:

$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?

6 个答案:

答案 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)。