2012-06-03 11 views
5

के पहले अक्षर को राजधानी (अपरकेस) बनाने मैं कोड है:strftime पीएचपी

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

कुछ भाषाओं मैं में:

2012 junio 3, डोमिंगो

मैं चाहता हूँ कि सभी शब्दों का पहला अक्षर अपरकेस (पूंजी) होगा, इसलिए यह दिखेगा:

2012 Junio ​​3, डोमिंगो

मैं इंटरनेट में किसी भी सवाल का जवाब नहीं मिला, किसी को भी एक विचार है? :)

+4

आपको एहसास है कि महीनों और सप्ताह के दिनों स्पेनिश में पूंजीकृत नहीं हैं, है ना? –

+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 काम करता है मुझे लगता है, क्योंकि आप अपने सभी शब्द अपरकेस से शुरू करना चाहते हैं।