2013-04-06 74 views
-1

我有投入在那里我得到这样的价值观:插入时间戳公布值在MySQL在PHP

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

+1

告诉我们你是如何尝试插入它..你如何逃脱它? – Svetoslav 2013-04-06 21:18:40

回答

1

您要插入的时间戳必须格式为YYYY-MM-DD HH:II:SS。可以使用date('Y-m-d H:i:s', strtotime($water))

希望这会有所帮助!

3

您可以使用MySQL的STR_TO_DATE功能:

INSERT INTO `table`(`date_field`) 
VALUES(STR_TO_DATE($water, '%d/%m/%Y %H:%i:%S'); 
1

时间戳在MySQL必须是YYYY-MM-DD HH:II:SS格式。你可以在PHP与

Date('Y-m-d H:i:s', strtotime($water)) 

你也可以使用MySQL的FROM_UNIXTIME功能做到这一点

0
water DATETIME 

或填充NOW()或CURRENT_TIMESTAMP领域

0

注意strtotime()解释该日期格式mm/dd/YYYY,而不是dd/mm/YYYY。 你应该以不同的格式重新排列日期(YYYY-mm-dd将是最好的,恕我直言)。