2009-11-04 11 views
5

मैं इस प्रारूप में फ़ीड से दिनांक हो रही है:कैसे फ़ॉर्मेट करने के लिए परमाणु दिनांक समय

2009-11-04T19:55:41Z 

मैं PHP में date() समारोह का उपयोग कर इसे स्वरूपित करने के लिए कोशिश कर रहा हूँ, लेकिन मैं एक त्रुटि कह मिलती है:

तिथि() उम्मीद पैरामीटर 2 लंबा हो सकता है, वस्तु /bla/bla.php

मैं preg_replace() का उपयोग कर की कोशिश की T दूर करने के लिए और में दिए गए Z, लेकिन अभी भी इसे काम नहीं कर सकता है।

उत्तर

12

strtotime यूनिक्स टाइमस्टैम्प करने के लिए तिथि प्रारूप परिवर्तित करने के लिए एक अद्भुत कार्य है।

यह आपको दे देंगे कि तुम क्या कर रहे हैं के बाद:

date('my format here', strtotime('2009-11-04T19:55:41Z')); 
+1

याद रखें कि '' strtotime' TZ' वातावरण चर में समय क्षेत्र इसे पा सकते हैं (उदाहरण के लिए उपयोग करता है। फ़ंक्शन प्रलेखन टाइम ज़ोन जानकारी को एम्बेड करने वाले टाइमस्टैम्प के साथ क्या होता है, इस पर कोई पॉइंटर्स देने में विफल रहता है। – Joey

+0

बहुत अच्छा काम किया :) धन्यवाद –

0

आप strtotime फ़ंक्शन का उपयोग कर सकते हैं।

echo date('Y-M-D', strtotime($feedDate)); 
1

मानक आईएसओ 8601 संयुक्त दिनांक और समय प्रारूप यूटीसी में दी गई है (इसलिए जेड) है।

आप या

DateTime::createFromFormat('c', '2009-02-03'); 

का उपयोग कर इसे पार्स करने के लिए सक्षम हो सकता है, कि अगर विफल रहता है (चाहिए नहीं, अगर पीएचपी आईएसओ 8601 को समझने के लिए दावा है), तो आप जेड द्वारा जगह ले सकता है "00: 00" ।

2

strptime उपयोग करके देखें:

$date = strptime($str, "Y-m-d\TH:i:s\Z"); 
9

के बारे में क्या
\DateTime::createFromFormat(\DateTime::ATOM, $AtomDate); // converting Atom date to object 

या

date(\DateTime::ATOM, $timestamp); // formatting timestamp to Atom time 

या दोनों

$dto = \DateTime::createFromFormat(\DateTime::ATOM, $AtomDate); 
date('d-M-Y H:i:s', $dto->getTimestamp()); // formatting Atom date to anything you want 

या और भी बेहतर

$dto = \DateTime::createFromFormat(\DateTime::ATOM, $AtomDate); 
$formattedDate = $dto->format('d-M-Y H:i:s'); 
+1

इस परमाणु निरंतर, उपयोगी नहीं पता था! – COil

संबंधित मुद्दे

 संबंधित मुद्दे