PHP microtime to MySQL timestamp

Revision as of 17:12, 10 July 2022 by Unknown user (talk) (Text replacement - "== references ==" to "== References ==")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Icon_exclaim.gif 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%';<ref>MySQL :: MySQL 5.7 Reference Manual :: 10.6 MySQL Server Time Zone Support</ref>. 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

References edit

<references/>