谢谢ACHMAIN_CHM对我刚才问题http://topic.csdn.net/u/20090611/12/e5a58556-2995-4fd6-bbb4-076569516dad.html的解答,日期是加了,但是加之前的日期是10位的int型字段,加完后怎么能保持仍然是10位int型的呢如 1241136000 加完30天后是 1342236000

解决方案 »

  1.   

    select FROM_UNIXTIME(1241136000) as a1,
          DATE_ADD(FROM_UNIXTIME(1241136000),INTERVAL 30 day) as a2,
    UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(1241136000),INTERVAL 30 day)) a3应该是 1243728000?
      

  2.   

    mysql>  select FROM_UNIXTIME(1127883316) as f1,
        ->   DATE_ADD(FROM_UNIXTIME(1127883316),INTERVAL 2 day) as f2,
        ->   UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(1127883316),INTERVAL 2 day)) as f3;
    +---------------------+---------------------+------------+
    | f1                  | f2                  | f3         |
    +---------------------+---------------------+------------+
    | 2005-09-28 12:55:16 | 2005-09-30 12:55:16 | 1128056116 |
    +---------------------+---------------------+------------+
    1 row in set (0.00 sec)mysql>
      

  3.   

    但你如果是加 30 天你还不如直接
    select 1127883316 + 30*24*60*60;mysql>  select FROM_UNIXTIME(1127883316) as f1,
        ->   DATE_ADD(FROM_UNIXTIME(1127883316),INTERVAL 30 day) as f2,
        ->   UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(1127883316),INTERVAL 30 day)) as f3;
    +---------------------+---------------------+------------+
    | f1                  | f2                  | f3         |
    +---------------------+---------------------+------------+
    | 2005-09-28 12:55:16 | 2005-10-28 12:55:16 | 1130475316 |
    +---------------------+---------------------+------------+
    1 row in set (0.00 sec)mysql> select 1127883316 + 30*24*60*60;
    +--------------------------+
    | 1127883316 + 30*24*60*60 |
    +--------------------------+
    |               1130475316 |
    +--------------------------+
    1 row in set (0.00 sec)mysql>