क्षमा करें अगर यह एक डुप्ली है - बहुत सारे प्रश्न हैं लेकिन स्पष्ट रूप से अगर मुझे एक सटीक उत्तर मिल सके तो मैं नहीं पूछूंगा :)इंटेल-जागरूक दिन प्रत्यय के साथ PHP दिनांक प्रारूप?
नोट मैं नेट से आ रहा हूं और एक PHP नौसिखिया हूं, इसलिए वहां नोब-स्केल त्रुटियां हो सकती हैं।
मैं जैसे उत्पादन करने में सक्षम होना चाहते हैं नया डेटटाइम ('2014-01-01 13:15:00') के रूप में: 'बुधवार 1 जनवरी 2014 पूर्वाह्न 1:15 अपराह्न' (संभव - गैर-स्थानीयकृत) या 'Mercredi 1er Janvier 2014 à 13h15' (संभव नहीं है ?)।
मूल रूप से, वहाँ PHP के 'एस' दिनांक स्वरूप विनिर्देशक करने के लिए कोई आईएसओ स्वरूपण बराबर हो रहा है, और न ही strftime के लिए एक है?
IntlDateFormatter :: पूर्ण निकट आता है - लेकिन 'बुधवार, 1 जनवरी' या 'Mercredi 1 janvier' अच्छा अंग्रेजी नहीं है (या फ्रेंच) - लेकिन ऐसा लगता है कि मैं सबसे नज़दीकी हूं? मैं बिना 'चालू' रह सकता है, '' और 'पर' अगर मैं था, लेकिन क्रमसूचक प्रत्यय अच्छा होगा। ('बुधवार एक जनवरी' - यह क्या है, एक कविता की शुरुआत?)
मैंने इस समस्या को संबोधित करते हुए PHP.net पर स्ट्रेटाइम अनुभाग टिप्पणियों पर one example देखा (जो यह सुझाव देता है कि यह एक मुद्दा है) - हालांकि यह केवल अंग्रेजी प्रत्यय जोड़ना प्रतीत होता था, जो अधिक उपयोग नहीं किया गया था? मुझे एक साधारण विधि चाहिए जो यूटीसी डेटाटाइम, एक लोकेल और टाइमज़ोन लेता है और एक स्थानीय स्ट्रिंग आउटपुट करता है - अधिमानतः 'उचित' मानव-पठनीय प्रारूप (ऊपर जैसा) में अंग्रेजी में संभव है। मैं इस दुनिया में हर भाषा के लिए एक प्रारूप स्ट्रिंग लिखे बिना को प्राप्त करना चाहते हैं। यह अच्छा होगा अगर यह मेरे विंडोज़ देव बॉक्स के साथ-साथ * निक्स उत्पादन बॉक्स पर भी काम करता है।
<?php
$utcdate = new DateTime('2014-01-01 13:15:00', new DateTimeZone('UTC'));
echo $utcdate->format('l \t\h\e jS \o\f F Y \a\t g:ia') . "<br>";
function dumpDates($date, $locale, $tz){
$date->setTimeZone(new DateTimeZone($tz));
$fmt = new IntlDateFormatter($locale, IntlDateFormatter::FULL, IntlDateFormatter::FULL,
$tz, IntlDateFormatter::GREGORIAN );
echo $fmt->format($date) . "<br>";
// doesn't work under windows?
setLocale(LC_TIME, $locale);
echo strftime('%A, %#d %B %Y %I:%M:%S %p', $date->getTimeStamp()) . "<br>";
}
dumpDates($utcdate, 'en_GB', 'Europe/London');
dumpDates($utcdate, 'de_DE', 'Europe/Berlin');
dumpDates($utcdate, 'fr_FR', 'Europe/Paris');
?>