2012-06-03 90 views
5

我有代码:的strftime使第一个字母大写(大写)在PHP

<?php echo strftime("%Y %B %e, %A")?> 

在一些语言中,我得到:

2012 JUNIO 3,多明戈

我想要的所有单词的第一个字母将是大写(大写),所以它看起来像:

2012 JUNIO 3,多明戈

我没有找到在互联网任何回答,没有任何人有一个想法? :)

+4

你确实意识到月份和工作日不用西班牙语大写,对吧? – 2012-06-03 20:08:19

+1

这是在很多其他语言,如立陶宛,希腊,俄罗斯等相同的问题 – user1384668

回答

4
echo ucwords(strftime("%Y %B %e, %A")); 
+1

鉴于'strftime()'提供了一个本地化的日期字符串,并且一些本地化使用多字节字符集,所以考虑这一点将是明智的。有关如何编写多字节字符安全的ucfirst()函数的示例,请参阅http://stackoverflow.com/questions/2517947/ucfirst-function-for-multibyte-character-encodings。 – Spudley

0
$ php -a 
Interactive shell 

php > $x = strftime("%Y %B %e, %A"); 
php > $str = explode(" ", $x); 
php > foreach ($str as $i) { print ucfirst($i) . " "; }; 
2012 June 3, Sunday 
php > 
0

尝试造型像这样的输出:

strftime('<span style="text-transform: capitalize;">%Y %B %e, %A</span>') 

echo '<span style="text-transform: capitalize;">' . strftime('%Y %B %e, %A') . '</span>'; 

这样,您就可以选择利用它的话。在你的情况ucwords作品我猜,因为你想你所有的单词以大写字母开头。