2009-09-23 11 views
7

PHP में, मैं वर्तमान समय को कैसे प्राप्त कर सकता हूं, यूटीसी में, मेरे होस्टिंग प्रदाता कहां से हार्ड कोडिंग ज्ञान के बिना?स्ट्रेटोटाइम के माध्यम से मैं वर्तमान यूटीसी समय को सटीक रूप से कैसे प्राप्त करूं?

time() + strtotime('January 1, 2000')-strtotime('January 1, 2000 UTC') 

और है कि यह एक समय होता है कि एक घंटे के वास्तविक यूटीसी समय से आगे की रिपोर्ट पाते हैं:

उदाहरण के लिए, मैं निम्नलिखित की कोशिश की। मैंने दो अलग-अलग होस्टिंग प्रदाताओं पर दो अलग-अलग समय क्षेत्रों में एक ही परिणाम के साथ कोशिश की।

क्या यूटीसी समय सटीक रूप से प्राप्त करने के लिए एक विश्वसनीय (और उम्मीद है, क्लीनर) तरीका है?

मैं PHP 4.4.9 तक सीमित हूं इसलिए मैं PHP5 में जोड़े गए नए टाइमज़ोन सामान का उपयोग नहीं कर सकता।

धन्यवाद, अग्रिम में।

+0

बस की जांच करने के लिए, एक ही समय क्षेत्र में होस्टिंग प्रदाता के रूप में आप कर रहे हैं कर रहे हैं? आप देखने के लिए तिथि ("टी") के आउटपुट की जांच करने का प्रयास कर सकते हैं। – Tom

+1

@ टॉम: यह काम करेगा यदि ओपी अपने प्रदाता को एक निश्चित क्षेत्र में मान सके। 'दिनांक (" टी ") के साथ समस्या यह है कि उदाहरण के लिए उत्तरी ईएसटी या ऑस्ट्रेलियाई ईएसटी द्वारा" ईएसटी "हो सकता है। – MitMaro

+0

मैं सिर्फ जानकारी के लिए मछली पकड़ रहा था। समाधान के लिए नीचे मेरा उत्तर देखें जो सभी मामलों में काम करेगा। समय क्षेत्र abrev के बारे में आपका बिंदु। अच्छी तरह से लिया गया है और कुछ ऐसा जो मुझे कभी सौदा नहीं करना पड़ा क्योंकि मेरे सभी सर्वर यू.एस. – Tom

उत्तर

8

यह मेरे लिए काम करता प्रतीत होता है। बेशक, आप PHP 5 मेरे सभी सर्वर को बाद से PHP 4 पर उसकी जांच करने की आवश्यकता होगी, लेकिन मैनुअल का दावा है इस PHP 4 के लिए काम करना चाहिए

$t = time(); 
$x = $t+date("Z",$t); 
echo strftime("%B %d, %Y @ %H:%M:%S UTC", $x); 

पहले चारों ओर समय, मैं भूल गया था कि तारीख सका कॉल टू टाइम() और दिनांक() के बीच बदलें।

+0

में हैं, तो 'तारीख ("टी") 'का उपयोग करके बेहतर होगा। एक +1 के लायक है। – MitMaro

+0

धन्यवाद, और मैंने आपको उपरोक्त टिप्पणी के लिए +1 दिया था। – Tom

+0

धन्यवाद, यह काम करता है। :) – Dave

14
$time = new DateTime('now', new DateTimeZone('UTC')); 
echo $time->format('F j, Y H:i:s'); 
+0

आपके उत्तर के लिए धन्यवाद। हालांकि यह PHP 4.4.9 के लिए काम नहीं करता है, यह अन्य PHP 5.2 पर ठीक काम करता है। – Dave

+0

क्षमा करें, स्पष्ट रूप से मेरी पढ़ाई समझ तब खत्म हो गई जब मैंने आपका प्रश्न पढ़ा। वैसे भी मदद की खुशी है। – GZipp

+2

लेकिन फिर भी अन्य peopl के लिए मूल्यवान था – shealtiel

0
$utcTtime = gmmktime(); 
$unixTimestamp = time(); 

gmmktime: एक जीएमटी तारीख

0

के लिए यूनिक्स टाइमस्टैम्प प्राप्त करता है php 4.4.9 के लिए इस काम करता है?

echo gmdate('Y-m-d H:i:s', time()); 

या आप एक विशिष्ट तिथि के लिए यह चाहते हैं:

$time = strtotime('January 1, 2000 UTC'); 
if($time){ 
    echo gmdate('Y-m-d H:i:s', $time); 
} 
संबंधित मुद्दे

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