2011-12-22 18 views
6

मेरे पास किसी अन्य देश में ईवेंट की तिथियां हैं जिन्हें मुझे डेटाबेस में सहेजने की आवश्यकता है। समस्या यह है कि उन तिथियों में कोई टाइमज़ोन जानकारी शामिल नहीं है।विशिष्ट स्थान पर विशिष्ट डेटाटाइम का समय क्षेत्र कैसे ढूंढें?

इस स्थान में उपयोग किए गए टाइमज़ोन सीईटी (मानक समय) या सीईएसटी (ग्रीष्मकालीन समय) है।

यह पता लगाने का सबसे आसान तरीका क्या है कि कौन सा खेल रहा है?

+0

मैं इसे ऐसा करने के लिए संभव है नहीं लगता। जब हम घड़ी को एक घंटा वापस सेट करते हैं, उस समय प्रत्येक समय के लिए, मानक समय में एक समय होता है और गर्मी के समय में एक समय होता है जो समय क्षेत्र के बिना भी दिखाई देगा। –

उत्तर

3

मैं काफी यकीन है कि तुम क्या कह रहे हैं नहीं कर रहा हूँ। मैं सोचता हूं आपको यह जानने की ज़रूरत है कि क्या कोई विशेष तारीख डेलाइट बचत में है या नहीं। यदि ऐसा है, तो आप date('I') का उपयोग कर सकते हैं।

$dst_now = date('I'); // whether our current timezone is currently in DST 
$dst_then = date('I', strtotime($date)); // whether that date is in DST for our current timezone 

$date_obj = new DateTime($date, new DateTimeZone('Europe/Paris')); 
$dst_thereandthen = $date_obj->format('I'); 
// whether that date is in DST for that timezone 

तो आपको क्या चाहिए इनमें से कोई भी है, कृपया स्पष्ट है कि तुम क्या जरूरत है ...

+0

ठीक है, शीर्षक थोड़ा भ्रामक था। फिक्स्ड। हालांकि आप उत्तर देते हैं क्योंकि यह कोड टाइमज़ोन जानकारी प्रदान कर सकता है जो मुझे वास्तव में चाहिए। –

1

मुझे लगता है कि date_default_timezone_get() फ़ंक्शन आपको वह जानकारी देगा जो आपको चाहिए, हालांकि मुझे पूरी तरह से यकीन नहीं है कि यह मानक/ग्रीष्मकालीन समय के बीच अंतर कर सकता है।

date_default_timezone_get()

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