Home > Article > Backend Development > How to get the current timestamp in php accurate to milliseconds
PHP does not have its own function to obtain millisecond timestamps, but it provides a microtime() function. If called without optional parameters, this function returns a string in the format of "msec sec". where sec is the number of seconds since the Unix epoch (0:00:00 January 1, 1970 GMT) and msec is the microsecond portion. Both parts of the string are returned in seconds.
<?php echo microtime(); //输出结果是 //0.25139300 1138197510
Note that the result is divided into two parts, that is, the first half is milliseconds (but the unit is seconds), and the second half is seconds.
Now, we make modifications based on this, as follows:
<?php list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); 这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。 <?php //返回当前的毫秒时间戳 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); }
Note: sprintf('%.0f', $num) outputs a floating point number without a decimal part
Things are not over yet. After I changed the timestamp to millisecond level, when I updated the database data again, it was prompted that it was out of range. It turned out that I used int type in the database to store the second level time obtained by the time() function. Poke, the storage range is enough. If you change it to the millisecond level, you have to change it to the BIGINT type.
Integer type Bytes Range (signed) Range (unsigned) Usage
TINYINT 1 byte (-128,127) (0,255) Small integer value
SMALLINT 2 bytes (-32 768, 32 767) (0, 65 535) Large integer value
MEDIUMINT 3 bytes (-8 388 608, 8 388 607) (0, 16 777 215) Integer value
INT or INTEGER 4 bytes (-2 147 483 648, 2 147 483 647) (0, 4 294 967 295) Large integer value
BIGINT 8 bytes (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) Maximum integer value
Related recommendations:
php implementation How to get the current millisecond timestamp
PHP Get the current timestamp function in detail
php calculates the time difference between two timestamps Two methods
The above is the detailed content of How to get the current timestamp in php accurate to milliseconds. For more information, please follow other related articles on the PHP Chinese website!