在PHP中将时间转换为时间戳或将时间戳转换为时间
将时间存储在数据库表中最简单(也是最可靠)的方法是使用时间戳。这也是计算时间标度的最便捷方法,因为您不必在base60中进行计算。在MySQL中,这是通过该UNIXTIME()函数完成的,可以通过使用另一个名为的MySQL函数来逆转FROM_UNIXTIME()。
但是,有时您的代码中可能会留有时间戳,以及试图弄清楚如何处理它们的任务。
第一个问题是尝试将时间戳转换为日期。因此,这是一个执行此操作的PHP函数。
function timestamp($t = null){ if($t == null){ $t = time(); } return date('Y-m-d H:i:s', $t); }
如果您遇到相反的问题,那么这里有一个PHP函数,它将日期字符串转换为时间戳。目前,该字符串的格式必须为YYYY-MM-DDHH:MM:SS,这是先前函数产生的格式。更改起来并不难,只需更改explode('',$str)的参数和顺序即可。
function convert_datetime($str) { list($date, $time) = explode(' ', $str); list($year, $month, $day) = explode('-', $date); list($hour, $minute, $second) = explode(':', $time); $timestamp = mktime($hour, $minute, $second, $month, $day, $year); return $timestamp; }
这是正在使用的功能的示例。
echotimestamp(convert_datetime('2008-05-1020:56:00')).' '.convert_datetime('2008-05-1020:56:00').'1210467360';