2011-12-27 18 views
6

मैं date("D, m/d/Y h:i:s A T") समारोह कॉल उपयोग कर रहा हूँ वर्तमान दिनांक समय पाने के लिए लेकिन जब मैं (स्थानीय समय में सीएसटी है और php तारीख समारोह UTC में समय देता है linux bash आदेश में तारीख बनाने लौटे समय समय मैं प्राप्त करने के लिए अलग है)। मैंने date_default_timezone_set() फ़ंक्शन का उपयोग करके स्थानीय टाइमज़ोन सेट करने के प्रयास में टाइमज़ोन प्राप्त करने के लिए $timezone = @system("date +%Z",$retval); का उपयोग करने का प्रयास किया है। लेकिन सीएसटी मान्य टाइमज़ोन_identifier नहीं लगता है।PHP में स्थानीय टाइमज़ोन कैसे प्राप्त करें?

संक्षेप में, मुझे स्थानीय डेटाटाइम के समान तारीख और समय प्राप्त करने की आवश्यकता है।

+1

फिर से, आपकी पोस्ट पर हस्ताक्षर करने को रोकने के लिए कृपया। –

+0

ठीक है। मुझे नहीं पता था कि इसे मना कर दिया गया था। पहले होने के लिए – Steve

उत्तर

10

सीएसटी उपयोग के लिए तो http://php.net/manual/en/timezones.php

से एक समय क्षेत्र का उपयोग करें:

<?php 
date_default_timezone_set("America/Chicago"); 

आप केवल समय क्षेत्र संक्षिप्त नाम और नहीं समयक्षेत्र आईडी है तो का उपयोग करें:

<?php 
date_default_timezone_set(timezone_name_from_abbr("CST")); 
+0

+1। ध्यान दें कि उपयोगकर्ता * शिकागो * नहीं हो सकता है। हालांकि वास्तव में सीटी, अपने विशिष्ट लोकेल का उपयोग करना सबसे अच्छा है। –

+0

मुद्दा यह है कि मुझे इसे प्रोग्रामेटिक रूप से करने की ज़रूरत है, इसलिए जब भी मुझे इसकी आवश्यकता हो, मैं सटीक वैध टाइमज़ोन_डिडिफायर नहीं जा सकता। मेरे पास एकमात्र मूल्य सीएसटी या यूटीसी है और इस तरह ... – Steve

+0

@StephaneKouakou मैंने नमूना कोड जोड़ा है जब आपके पास केवल टाइमज़ोन संक्षेप –

1

हालांकि सिस्टम और PHP एक ही समय क्षेत्र पर होना चाहिए, टाइमज़ोन मा सेट करने के लिए date_default_timezone_set() के दस्तावेज़ों को पढ़ें nually।

ध्यान दें कि सीएसटी मान्य टाइमज़ोन सेटिंग नहीं है। अपने स्थान के लिए valid timezone खोजें।

0

मुझे लगता है कि मैं एक बेहतर कार्य मिल गया है: timezone_name_from_abbr()

+0

होने से बचाता है यदि यह सही उत्तर साबित हुआ है, तो कृपया इसे सही के रूप में चिह्नित करें। – rvighne

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