PHP microtime to MySQL timestamp
Jump to navigation
Jump to search
Warning: It will lose the accuracy after conversion. Microtime ex: 1426299057.8639 will lost the numeric after point (.8639) after saved to TIMESTAMP type ex: 2015-03-14 10:10:57 (equals to 1426299057)
1. Check the MySQL server's current time zone: show variables like '%time_zone%';[1]. It's also the timezone which the data with TIMESTAMP type stored. example output:
Variable_name Value system_time_zone CST time_zone SYSTEM ## my SYSTEM timezone is Asia/Taipei
2. PHP codes (online demo)
//set the current timezone
date_default_timezone_set("Asia/Taipei");
$microtime = microtime(true);
//1426299057.8639
list($second, $numeric_after_point) = explode(".", $microtime);
//$second: 1426299057
//$numeric_after_point: 8639
$timestamp = date('Y-m-d H:i:s', $second);
//$timestamp: 2015-03-13 10:10:57