2011-07-08 9 views
17

मैं सर्वर से दिनांक और समय पुनर्प्राप्त करना चाहता हूं और इसके अनुसार कुछ काम करता हूं।सर्वर से दिनांक और समय कैसे प्राप्त करें

$info = getdate(); 
$date = $info['mday']; 
$month = $info['mon']; 
$year = $info['year']; 
$hour = $info['hours']; 
$min = $info['minutes']; 
$sec = $info['seconds']; 

$current_date = "$date/$month/$year == $hour:$min:$sec"; 

इस कोड को उचित तिथि देता है, लेकिन समस्या यह है कि मैं क्या मेरी cpanel (सर्वर समय) में देखते हैं diff है: इस के लिए मैं निम्नलिखित कोड का इस्तेमाल किया। मुझे कोड से क्या मिलता है। cpanel समय में जबकि कोड से यह यूटीसी दिखाया जा रहा है जो मैं निम्नलिखित कोड का उपयोग कर फिर से पुष्टि

<?php echo date("r == e"); ?> 

क्यों यह हो रहा है और क्या परिवर्तन मैं अपने कोड में क्या करना है, ताकि मैं उचित सर्वर समय प्राप्त कर सकते हैं CDT है।

उत्तर

46

आप timezones से एक के लिए set the timezone आप चाहते हैं चाहिए सेट करना होगा।

// set default timezone 
date_default_timezone_set('America/Chicago'); // CDT 

$info = getdate(); 
$date = $info['mday']; 
$month = $info['mon']; 
$year = $info['year']; 
$hour = $info['hours']; 
$min = $info['minutes']; 
$sec = $info['seconds']; 

$current_date = "$date/$month/$year == $hour:$min:$sec"; 

या एक बहुत छोटे संस्करण:

// set default timezone 
date_default_timezone_set('America/Chicago'); // CDT 

$current_date = date('d/m/Y == H:i:s'); 
+0

रीयलटाइम गिनती के साथ इसे कैसे प्रदर्शित करें ... –

2

नहीं पूरी स्क्रिप्ट के लिए date_default_timezone_set उपयोग करने के लिए, बस timezone आप दिनांक समय वस्तु के साथ निर्दिष्ट की जरूरत:

$now = new DateTime(null, new DateTimeZone('America/New_York')); 
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way 
echo $now->format("Y-m-d\TH:i:sO"); // something like "2015-02-11T06:16:47+0100" (ISO 8601) 
5

इसे आज़माएं -

<?php 
date_default_timezone_set('Asia/Kolkata'); 

$timestamp = time(); 
$date_time = date("d-m-Y (D) H:i:s", $timestamp); 
echo "Current date and local time on this server is $date_time"; 
?> 
+0

AFAIK $ date_time स्ट्रिंग के बाहर होना चाहिए? – user7185318

+0

आप डबल कोट्स के बीच php चर लिख सकते हैं और आपको उचित परिणाम मिलेंगे, लेकिन यदि आप सिंगल कोट्स के बीच उपयोग करते हैं तो परिणाम एक ही चर नाम होगा। –

0

के लिए सक्षम PHP एक्सटेंशन intl, इन चरणों का अनुसरण ..

  1. ओपन XAMPP/php/php.ini किसी भी संपादक में फ़ाइल।
  2. खोज "; एक्सटेंशन = php_intl.dll"
  3. कृपया प्रारंभिक अर्धविराम (;) को कृपया हटाएं:; एक्सटेंशन = php_intl.dll। सेवा मेरे। एक्सटेंशन = php_intl.dll।
  4. xampp/php/php.ini फ़ाइल को सहेजें।
  5. अपने xampp/wamp को पुनरारंभ करें।
संबंधित मुद्दे