Doc #45847 [Com]: strftime() returns an empty string when using the %e conversion specifier

From: Date: Wed, 29 Sep 2010 08:51:05 +0000
Subject: Doc #45847 [Com]: strftime() returns an empty string when using the %e conversion specifier
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-5143@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=45847&edit=1 ID: 45847 Comment by: martijn dot niji at gmail dot com Reported by: vincent at vent dot be Summary: strftime() returns an empty string when using the %e conversion specifier Status: Open Type: Documentation Problem Package: Date/time related Operating System: win32 only PHP Version: 5.2.6 Block user comment: N New Comment: Can't we (or rather you) fix this by adding a nice entry in PHP docs and making it so %e gets accepted but returns the same as %d or even %#d? Especially since this has been open since 2008? By the way, this is still an issue on PHP 5.3 Previous Comments: ------------------------------------------------------------------------ [2010-09-16 17:46:10] matt at ssradio dot com You could perhaps use the following test to avoid running into this problem: if (stristr(php_uname('s'), 'WIN')) { // Are we running under Windows? // %e conversion specifier not supported, use %#d instead } else { // OK to use %e } Hope that helps! ------------------------------------------------------------------------ [2010-07-31 07:12:10] contact dot php at juliencrouzet dot fr Wouldn't it be nice to replace "%e" by "%#d" php_strftime ? (conditionally) ------------------------------------------------------------------------ [2010-05-05 13:47:08] cyrille37 at gmail dot fr strftime() is not portable, so for Win32 have a look at http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx You could not find %e but ... there is the formater char "#" that can Remove leading zeros (if any). Replace "%e" by "%#d", it's work ! Cyrille. ------------------------------------------------------------------------ [2008-08-17 22:56:50] pajoye@php.net %e is not supported on Windows. strftime PHP's implementation is not portable. Assigned to the maintainer, if he likes to comment more or make it portable. See: http://msdn.microsoft.com/en-us/library/fe06s4ak(VS.71).aspx for the list of supported identifiers. ------------------------------------------------------------------------ [2008-08-17 22:09:42] vincent at vent dot be Description: ------------ When I use the strftime() function to format a date, it returns an empty string when I use the %e conversion specifier in the formatting string. I'm using the newest version of the WAMPSERVER package (with Apache 2.2.8). I hope this helps you any further, do not hesitate to contact me if you have further questions. Thanks! -Vincent Reproduce code: --------------- <?PHP $time = mktime(); echo "This does not work: " . strftime("%e", $time); echo ", while dis does work: " . strftime("%d", $time); echo ". Adding parameters doesn't fix the problem: " . strftime("%A %e %B %Y", $time); ?> Expected result: ---------------- This does not work: 18, while dis does work: 18. Adding parameters doesn't fix the problem: Monday 18 August 2008 Actual result: -------------- This does not work: , while dis does work: 18. Adding parameters doesn't fix the problem: ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=45847&edit=1

« previous php.doc.bugs (#5143) next »