时间戳和日期转换

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
若无参数调用,则返回一个Unix timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数。若用date 来调用UNIX_TIMESTAMP(),它会将参数值以'1970-01-01 00:00:00' GMT后的秒数的形式返回。date 可以是一个DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

 

mysql> SELECT UNIX_TIMESTAMP();

-> 882226357

mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');

-> 875996580
 


当 UNIX_TIMESTAMP被用在 TIMESTAMP列时, 函数直接返回内部时戳值,  而不进行任何隐含的 “string-to-Unix-timestamp”转化。假如你向UNIX_TIMESTAMP()传递一个溢出日期,它会返回 0,但请注意只有基本范围检查会被履行 (年份从1970 到 2037, 月份从01到12,日期从  01 到31)。


PHP下对时间戳和时间相互转换的示例:

PHP code

 

    $timestamp = 1210003200;
    $datetime = date('Y-m-d H:i:s', $timestamp);
    echo "该时间戳代表的时间:", $datetime, "
\n"; echo "从此时间重新转回时间戳:", strtotime($datetime), "
\n";
 


MySQL下对时间戳转换的示例:

SQL code

select from_unixtime(1210003200) datetime, unix_timestamp(from_unixtime(1210003200)) timestamp;
 

 

你可能感兴趣的:(MySQL)