-1

我输入了我得到如下值的地方:

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

4

6 回答 6

3

您可以使用 MySQL 的STR_TO_DATE功能:

INSERT INTO `table`( `date_field` )
VALUES( STR_TO_DATE( $water, '%d/%m/%Y %H:%i:%S' );
于 2013-04-06T21:20:42.273 回答
1

您要插入的时间戳必须具有格式YYYY-MM-DD HH:II:SS

您可以使用date('Y-m-d H:i:s', strtotime($water)).

希望这可以帮助!

于 2013-04-06T21:19:05.837 回答
1

mysql 中的时间戳必须是 YYYY-MM-DD HH:II:SS 格式。你可以在 php 中使用

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

您还可以使用 FROM_UNIXTIME mysql 函数

于 2013-04-06T21:21:57.313 回答
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...
于 2013-04-06T21:22:27.627 回答
0
water DATETIME

或使用 NOW() 或 CURRENT_TIMESTAMP 填充该字段

于 2013-04-06T21:23:34.513 回答
0

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

于 2013-04-06T21:24:34.150 回答