php+mysql 处理时间

不言
不言 原创
2023-03-28 17:06:01 2140浏览

这篇文章主要介绍了关于php+mysql 处理时间,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

虽然mysql中有自己的时间类型,但是为了兼容性考虑,php中一般用time函数取出unix时间戳。保存到数据库中。
1.unix时间戳
PHP中的time函数返回的就是unix timestamp,默认情况下PHP解析显示位格林威治标准时间。
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数。
2.unix时间戳转化为人类识别日期

$str = date(“Y-m-d H:i:s”, time())得出的是格林威治时间,非中国时间。加上8小时即可。
$str = date(“Y-m-d H:i:s”, time()+8*3600)

将unix时间戳转化为中国时间:
3.人类识别日期转化为unix时间戳

$int = strtotime(“2014-11-8 08:12:24”);

4.数据库类型
由于mysql数据库的int范围和unix时间戳类型一样,所以直接crime int,即可。create time用int表示。看有些sql文件中显示 crime int(11),这个括号中的11是mysql默认的显示长度,而非数据大小的长度。
mysql中int默认为(-2 147 483 648,2 147 483 647),10位可以满足需求。
5.将当前时间写入数据库

$n = time();
$query = "insert into time_test values( $n )";
$ret = mysql_query($query, $con);

6.将数据库时间显示为中国时间

$query = "select ctime from time_test;";
$ret = mysql_query($query, $con);
if(!$ret)
{
die("query error: " . mysql_error());
}

while ( $arr = mysql_fetch_array($ret))
{
//数据库中取出的是字符串,为保险起见,转换为int类型。
echo date("Y-m-d H:i:s", intval($arr["ctime"]) + 8*3600) . "<br>";
}

<完>

以上就是本篇文章的全部内容了,感谢大家阅读。

相关推荐:

php+mysql实现登录注册修改密码网页

php+mysql+jquery实现日历签到功能的方法

以上就是php+mysql 处理时间的详细内容,更多请关注php中文网其它相关文章!

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