Edit report at https://bugs.php.net/bug.php?id=48225&edit=1
ID: 48225 Comment by: tdenev at kontrax dot bg Reported by: knut dot urdalen at gmail dot com Summary: Microseconds output wrong in DateTime::format() Status: Assigned Type: Bug Package: Date/time related Operating System: * PHP Version: 5.*, 6CVS (2009-05-09) Assigned To: derick Block user comment: N Private report: N New Comment: OS: Slackware 13.37 $ php -v PHP 5.3.8 (cli) (built: Oct 9 2011 13:58:17) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies with Xdebug v2.1.1, Copyright (c) 2002-2011, by Derick Rethans still has this bug, the "u" part is still at 000000. Previous Comments: ------------------------------------------------------------------------ [2012-02-24 17:46:14] kissifrot at gmail dot com PHP 5.3.10 on Win32 still has the bug, the "u" part is still at 000000. ------------------------------------------------------------------------ [2011-11-03 02:19:36] rewilliams at crystaltech dot com Still see it in 5.3.6 on OS X.... ------------------------------------------------------------------------ [2011-01-23 16:20:32] jmdoren at ok dot cl I have the same problem my OS : Fedora release 14 (Laughlin) my php Version: PHP 5.3.5 (cli) (built: Jan 22 2011 00:55:37) in my php.ini date.timezone=America/Santiago my script: <?php echo date( 'd-m-Y G:i:s,u' ); ?> my results: 23-01-2011 8:34:18,000000 23-01-2011 8:34:18,000000 23-01-2011 8:34:19,000000 23-01-2011 8:34:20,000000 .... ------------------------------------------------------------------------ [2009-05-10 17:38:56] j...@php.net See also bug #45554 and bug #47312 ------------------------------------------------------------------------ [2009-05-10 17:29:54] knut dot urdalen at gmail dot com Description: ------------ The date()-function allow a 'u' format character in the formatting field as of PHP 5.2.2. The DateTime::format() function point to the same manual page for the formatting as the date() function and since DateTime actually store microseconds internally (as mentioned by Derick previously) I think it's a bug that it's not output correctly. Reproduce code: --------------- <?php date_default_timezone_set('Europe/Oslo'); $datetime = new DateTime(); echo $datetime->format('Y-m-d H:i:s.u')."\n"; ?> Expected result: ---------------- The 'u' format character should output the microsecond that is internally stored in the DateTime object upon creation. Actual result: -------------- The 'u' format character always resolve to 00000. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=48225&edit=1