2012-08-02 10 views
11

काम नहीं कर रहा है यह अजीब लगता है लेकिन मैं पहले से ही सबकुछ जांचता हूं, और फिर भी एक अजीब बात होती है।date_default_timezone_set ('UTC')

मैं अपने PHP स्क्रिप्ट्स का टाइमज़ोन नहीं बदल सकता।

सबसे पहली बात:

<?php 
date_default_timezone_set('UTC'); 
echo '<br>'; 
echo date('Y-m-d H:i:s'); 
?> 

इस ठीक काम कर रहा है जब मैं एक परीक्षण http://codepad.org/rpYZ0flA पर इस कोशिश की लगता है: क्या मैंने किया था कुछ इस तरह था।

मेरा सर्वर का टाइमज़ोन यूटीसी + 8: 00 ताइपेई पर सेट है, लेकिन जब मैंने ऊपर दिए गए कोड की कोशिश की तो यह वास्तव में काम नहीं कर रहा है। यह अभी भी मेरे सर्वर के टाइमज़ोन में मेरा वर्तमान दिनांक_टाइम दिखाता है, ऊपर दिए गए कोड का पालन नहीं करता है।

date/time support     enabled 
"Olson" Timezone Database Version 2012.3 
Timezone Database     internal 
Default timezone      Europe/Berlin 

ऐसा क्यों हो रहा है:

और यह अपने सर्वर की php.ini विन्यास है? क्या यह पहले से ही एक बग है? या server_setup पर गलती है या मुझे बस मेरे कोड में कुछ याद आया?

धन्यवाद।

नोट:

मैं मैन्युअल रूप से बदल रहा है php.ini

+0

आप किस PHP संस्करण का उपयोग कर रहे हैं? – Hawili

+1

php 5.4.4, मुझे लगता है कि वीएम के साथ कुछ गड़बड़ है .. –

+3

http://php.net/manual/en/function.date-default-timezone-set.php – Hawili

उत्तर

3

से ठीक हो गया है: मेरे पर्यावरण एक Windows 7N पीएचपी 5.4.4

ठीक उपयोग करते हुए वी एम में चल रहा है इसे आजमाएं

<?php 
echo date('Y-m-d H:i:s T', time()) . "\n"; 
date_default_timezone_set('UTC'); 
echo date('Y-m-d H:i:s T', time()) . "\n"; 

यहां आपको टी मिलेगी सेंट परिणाम http://codepad.org/gc5oYnLW

2

यदि आप यूनिक्स एपोक (1 जनवरी 1 9 00 00:00:00 जीएमटी) के बाद टाइमज़ोन के साथ सेकंड में केवल समय चाहते हैं। नीचे दिए गए कोड का प्रयोग करें:

<?php 
date_default_timezone_set("UTC"); 
time()+date("Z"); 
0

इसे किसी भी समस्या के बिना काम करना चाहिए। आपकी सुविधा के लिए

<?php 
date_default_timezone_set('America/Virgin'); 
echo date('Y-m-d H:i:s T') . "\n"; 
date_default_timezone_set('UCT'); 
echo date('Y-m-d H:i:s T') . "\n"; 

Here is a codepad preview:

संदेह होने पर, इस कोड के साथ यह जाँच करें।

वापसी (अद्यतन दिनांक और समय बंद पाठ्यक्रम के साथ) इस तरह दिखेगा:

2017-12-11 03:09:58 AST 
2017-12-11 07:09:58 UCT 

अगर यह काम नहीं, अपने सर्वर विन्यास दोहरी जांच ... अपने PHP.ini फ़ाइल के साथ शुरू।

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