echo $row[0];
echo time();
$row是从数据库中读出来的时间。
显示结果:
2013-05-02 18:50:15
1367492310是我数据类型没设置对么?还是MySQL或者PHP自动转换了?怎么才能直接读出时间戳?我知道可以用时间转换函数,但是我想知道能不能直接读取到时间戳。来回转换感觉很2。

解决方案 »

  1.   

    那就是你的字段类型是datetime类型了。
      

  2.   

    mysql> use test
    Database changed
    mysql> create table time_test(id int,time TIMESTAMP);
    Query OK, 0 rows affected (0.47 sec)mysql> insert into time_test(id,time) values(0,now());
    Query OK, 1 row affected (0.05 sec)mysql> select * from time_test;
    +------+---------------------+
    | id   | time                |
    +------+---------------------+
    |    0 | 2013-05-03 11:18:51 |
    +------+---------------------+
    1 row in set (0.00 sec)mysql> insert into time_test(id,time) values(0,123);
    Query OK, 1 row affected (0.00 sec)mysql> select * from time_test;
    +------+---------------------+
    | id   | time                |
    +------+---------------------+
    |    0 | 2013-05-03 11:18:51 |
    |    0 | 2000-01-23 00:00:00 |
    +------+---------------------+
    2 rows in set (0.00 sec)mysql> insert into time_test(id,time) values(0,unix_timestamp(now()));
    Query OK, 1 row affected, 1 warning (0.14 sec)mysql> select * from time_test;
    +------+---------------------+
    | id   | time                |
    +------+---------------------+
    |    0 | 2013-05-03 11:18:51 |
    |    0 | 2000-01-23 00:00:00 |
    |    0 | 0000-00-00 00:00:00 |
    +------+---------------------+
    3 rows in set (0.00 sec)mysql>
      

  3.   

    select id, time+0 as time from time_test
    $row['time'] 就是 20130503112940这一点手册中说的很清楚了,自己瞎猜有什么用?TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。