2009-06-16 4 views
6

के साथ दिनांक और समय क्षेत्र से निपटना मेरे पास एक ऐसा एप्लिकेशन है जो दिनांक प्रदर्शित करने के लिए Zend_Date का उपयोग करता है। Zend_Date उदाहरण MySQL, उपयोगकर्ता इनपुट और वर्तमान दिनांक से डेटाटाइम डेटा का उपयोग करके बनाए जाते हैं।Zend_Date

मैं अपने उपयोगकर्ताओं को अपने टाइमज़ोन निर्दिष्ट करने और सभी स्थानीय तिथियों में प्रदर्शित होने के लिए सक्षम होना चाहता हूं।

$date = '2009-01-01 10:30:00'; 

$date = new Zend_Date($date, Zend_Date::ISO_8601); 

echo $date->get(Zend_Date::TIME_MEDIUM); //10:30:00 

$date->setTimezone('Australia/ACT'); 

echo $date->get(Zend_Date::TIME_MEDIUM); //21:30:00 

यह काम करता है, लेकिन हर तारीख पर एक setTimezone कॉल की आवश्यकता है:

पल मेरे कोड इस तरह से काम करता है पर

। क्या टाइमज़ोन प्रबंधित करने का कोई आसान तरीका है?

मैं MySQL से समायोजित डेटा वापस करने के लिए, MySQL के साथ SET टाइम_ज़ोन का उपयोग करने पर भी विचार कर रहा हूं। तो मुझे केवल समय क्षेत्र के लिए PHP स्क्रिप्ट के भीतर बनाई गई तिथियों को समायोजित करने की आवश्यकता होगी।

अगर किसी के पास अनुभव है, तो इसे संभालने का सबसे अच्छा तरीका सुनना अच्छा लगेगा।

धन्यवाद

उत्तर

7

मुझे लगता है कि पीएचपी समय क्षेत्र सेटिंग बाद के सभी Zend_Date उदाहरण के लिए डिफ़ॉल्ट स्थापित करना चाहिए।

date_default_timezone_set('Europe/Vienna'); 

Zend_Date section in the Zend Framework Reference Guide से: उदाहरण के लिए:

पीएचपी, हम उपयोगकर्ता की उम्मीदों के अनुसार एक डिफ़ॉल्ट समय क्षेत्र की स्थापना करके एक विशेष उपयोगकर्ता के लिए काम करने के लिए सभी दिनांक और समय संबंधित कार्यों को समायोजित कर सकते हैं। Zend_Date उदाहरण बनाते समय, उनका टाइमज़ोन स्वचालित रूप से वर्तमान डिफ़ॉल्ट टाइमज़ोन बन जाएगा!

+2

धन्यवाद। ऐसा लगता है कि यूटीसी को डिफॉल्ट के रूप में सेट करने का सबसे अच्छा तरीका है, यूटीसी डेटाटाइम के साथ आंतरिक रूप से काम करें, और टाइमज़ोन विशिष्ट स्थानीय समय का उत्पादन करने के लिए सेटटाइमज़ोन का उपयोग करें। –

1

मुझे लगता है कि आप इसके बारे में कुछ डॉक्स पढ़ें, यकीन है कि आप इसे काम करने के लिए सक्षम होगा, Zend_Locale का उपयोग कर सकता। दूसरी ओर, यदि आप Zend_Cache और Zend_Locale/Zend_Date का उपयोग करते हैं, तो यह गति को थोड़ा सा सुधारने में मदद करेगा। ज़ेन फ्रेमवर्क दस्तावेज़ों में भी उपयोग के उदाहरण हैं।