Rumah >pembangunan bahagian belakang >tutorial php >php+mysql 处理时间
这篇文章主要介绍了关于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
以上就是本篇文章的全部内容了,感谢大家阅读。
相关推荐:
Atas ialah kandungan terperinci php+mysql 处理时间. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!