根据to the documentation,strftime
接受格式参数中的%e
字符,该字符返回“当月的日期,,前面有一位数字”。
因此,如果我使用它来显示本地化日期,我会得到两个不同的结果,如果我在月初或月末:
echo strftime('%A %e %B' . PHP_EOL);
// Displays: Monday 5 February
echo strftime('%A %e %B' . PHP_EOL, time() + 400000);
// Displays: Saturday 10 February
这很烦人,有点奇怪。我不知道为什么这个空间在这里(历史原因?),我没有看到任何有用的情况。但这不是真正的问题。
有没有办法使用strftime
显示天数而没有前导空格(并且没有前导零)?
答案 0 :(得分:2)
“暴力”方法总是一个选择:
echo strftime('%A '), trim(strftime('%e')), strftime(' %B'), PHP_EOL;
答案 1 :(得分:1)
您也可以使用str_replace()
:
echo str_replace(' ', ' ', strftime('%A %e %B' . PHP_EOL));
答案 2 :(得分:0)
在Linux(尽管不是Windows)上,C的strftime
(可能与PHP相同)需要使用-
来删除填充,即以下方法可能有效:
echo strftime('%A %-e %B' . PHP_EOL);