Doc #45847 [Com]: strftime() returns an empty string when using the %e conversion specifier
| From: | martijn dot niji at gmail dot com | 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