2012-06-03 113 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作品我猜,因爲你想你所有的單詞以大寫字母開頭。