[wp-trac] [WordPress Trac] #45193: current_time() function will not return milliseconds / microseconds
WordPress Trac
noreply at wordpress.org
Thu Oct 25 21:27:36 UTC 2018
#45193: current_time() function will not return milliseconds / microseconds
---------------------------+-----------------------------
Reporter: phillipburger | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version:
Severity: normal | Keywords:
Focuses: |
---------------------------+-----------------------------
current_time() function in functions.php
(https://core.trac.wordpress.org/browser/tags/4.9.8/src/wp-
includes/functions.php#L61) accepts a few formatting types and one is a
timestamp format like "Y-m-d H:i:s"
The problem is there is no way to get milliseconds / microseconds like
"Y-m-d H:i:s.u"because in current_time() it uses the PHP date() function
and per PHP documentation:
Microseconds (added in PHP 5.2.2). Note that date() will always generate
000000 since it takes an integer parameter, whereas DateTime::format()
does support microseconds if DateTime was created with microseconds.
http://php.net/manual/en/function.date.php
The way to get microseconds (this may not be the most clean, but gives an
example) is like this:
$t = microtime(true);
$micro = sprintf("%06d",($t - floor($t)) * 1000000);
$d = new DateTime( date('Y-m-d H:i:s.'.$micro, $t) );
$d->format("Y-m-d H:i:s.u");
(notice the . before the u instead of : like other separators)
Is there a need to add some function similar to current_time() that will
work with a DateTime object instead of the date() function to get more
accurate information?
Note - this matters to me because I created a plugin with my own DB table
where I am logging some interactions that happen fast enough they need to
be logged at a low level. The standard MySQL Timestamp data type only goes
to seconds, but with Timestamp(6) you can go all the way out to
microseconds - and that is my need.
Thanks in advance!
--
Ticket URL: <https://core.trac.wordpress.org/ticket/45193>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list