php+mysql 处理时间

不言
不言asal
2018-05-31 14:22:552614semak imbas

这篇文章主要介绍了关于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>";
}

ba33df4ef3efea3726e09756c08771e7

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

相关推荐:

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

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

Atas ialah kandungan terperinci php+mysql 处理时间. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn