2013-01-25 15 views
11

हाय मैं फेसबुक ग्राफ एपीआई पर काम कर रहा हूं जहां मुझे किसी समूह की सभी पोस्ट जानकारी की आवश्यकता है। इसलिए मैंने इसे देखा और [created_date'] => '2013-01-25T00:11:02+0000' देखा कि यह दिनांक और समय क्या दर्शाता है मेरा मतलब है कि मुझे पता है कि 2013-01-25 दिनांक है और 00:11:02 समय है लेकिन T और +0000 का प्रतिनिधित्व करता है।फेसबुक निर्मित तिथि में उपयोग किए जाने वाले समय प्रारूप का क्या समय है?

बीटीडब्ल्यू फेसबुक का सर्वर कहां है। फेसबुक समय से मेल खाने के लिए मुझे किस टाइमस्टैम्प का उपयोग करना चाहिए?

धन्यवाद।

+0

यह आईएसओ कहा जाता है। – Hyperboreus

+4

यह ['आईएसओ 8601'] (http://en.wikipedia.org/wiki/ISO_8601) सटीक –

उत्तर

19

टी = TIME और +0000 टाइमज़ोन ऑफसेट है। फेसबुक स्थानीयकृत समय क्षेत्र का उपयोग करता है। आप पैरामीटर जोड़कर स्ट्रिंग के बजाय यूनिक्स टाइमस्टैम्प का अनुरोध कर सकते हैं: time_format = U आपके ग्राफ़ कॉल पर।

कृपया देखें: https://chris.banes.me/2011/06/24/correctly-parsing-graph-api-event-times/

+0

होने के लिए आपको उच्च पार्क .. यह वही है जो मुझे चाहिए .. –

+1

+1। 'Time_format' के बारे में नहीं पता था :) –

+1

@ हाईपार्ककोडर स्थानीयकृत टाइमज़ोन का क्या अर्थ है? –

4

यह एक मानक प्रारूप है, विशेष रूप से ISO 8601

जितना मैं उससे लिंक करना पसंद नहीं है, http://www.w3schools.com/schema/schema_dtypes_date.asp एक अच्छा "मानव-समझा जा सकता" विवरण है:

dateTime निम्नलिखित फार्म "YYYY-MM-DDThh में निर्दिष्ट किया जाता है: mm : ss: समय के पीछे जेड "" जहां

YYYY indicates the year 
MM indicates the month 
DD indicates the day 
T indicates the start of the required time section 
hh indicates the hour 
mm indicates the minute 
ss indicates the second 

एक समय क्षेत्र निर्दिष्ट करने के लिए, आप एक जोड़ने द्वारा UTC समय में एक dateTime प्रवेश या तो कर सकते हैं "- इस तरह:

2002-05-30T09:30:10Z

या आप समय के पीछे एक सकारात्मक या नकारात्मक समय जोड़कर एक UTC समय से ऑफसेट निर्दिष्ट कर सकते हैं - इस तरह:

2002-05-30T09:30:10-06:00

या

2002-05-30T09:30:10+06:00

इसलिए, आपके मामले में +0000 एक समय ऑफसेट इंगित करता है यूटीसी से 0।

12

दिनांक स्वरूप ISO 8601 कहा जाता है। पत्र T का उपयोग तिथि और समय को अलग-अलग करने के लिए किया जाता है और +0000 का उपयोग टाइमज़ोन ऑफ़सेट को इंगित करने के लिए किया जाता है, इस मामले में जीएमटी या यूटीसी।

उस ने कहा, आपको आम तौर पर वास्तविक सामग्री के बारे में चिंता करने की आवश्यकता नहीं है; बल्कि आपको पता होना चाहिए कि उनके साथ कैसे काम करना है।इस तरह के एक तिथि का उपयोग करने के लिए आपको strtotime() का उपयोग यह एक समय स्टाम्प में परिवर्तित करने के कर सकते हैं:

$ts = strtotime('2013-01-25T00:11:02+0000'); 

एक स्ट्रिंग प्रतिनिधित्व में समय स्टाम्प वापस बदलने के लिए, आप बस लगातार पूर्वनिर्धारित दिनांक DATE_ISO8601 साथ gmdate() उपयोग कर सकते हैं:

echo gmdate(DATE_ISO8601, $ts); 

वैकल्पिक रूप से, DateTime का उपयोग कर:

// import date 
$d = DateTime::createFromFormat(DateTime::ISO8601, '2013-01-25T00:11:02+0000'); 

// export date 
echo $dd->format(DateTime::ISO8601), PHP_EOL; 
+0

* sidenote: *' DateTime :: createFromFormat() '5.3.0 के बाद से उपलब्ध है – Raptor