时间戳和日期转换

巴扎黑
巴扎黑 原创
2023-03-01 10:26:02 800浏览

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, "<br>\n";  
echo "从此时间重新转回时间戳:", strtotime($datetime), "<br>\n";

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

SQL code

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


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。