2011-03-21 15 views
11

के माध्यम से डिफ़ॉल्ट समय क्षेत्र मैं एक साझा होस्टिंग MySQL उदाहरण है, जिसमें यह प्रशांत मानक समय के लिए system_time_zone सेट है और यह प्रणाली को TIME_ZONE चर सेट है, इसलिए प्रभावी रूप से यह प्रशांत मानक समय पर चल रहा है है है।सेटिंग सर्वर पर phpMyAdmin

अर्थात मैं इस पता लगाने के लिए निम्न आदेश चला गया है:

SELECT version() , @@time_zone , @@system_time_zone , NOW() , UTC_TIMESTAMP() 

मैं GMT/UTC समय डिफ़ॉल्ट MySQL डेटाबेस/स्थानीय MySQL DB समय-क्षेत्र बदलना चाहते हैं। मैंने दौड़ने की कोशिश की, SET time_zone = '+0:00', और यह सफलतापूर्वक निष्पादित करता है!

हालांकि, यह @_ time_zone की स्थिति की जांच करते समय, टाइम_ज़ोन चर को प्रभावित नहीं करता है। मैंने इसी तरह की समस्या How to set MySQL to use GMT in Windows and Linux से निपटने वाली एक और पोस्ट को देखा है और मैंने छोटी प्रगति के साथ MySql documentation भी चेक किया है। चूंकि मैं एक साझा-होस्टिंग समाधान पर हूं, मेरे पास सीमित पहुंच है और मेरे पास मेरी PhPMyAdmin mySql कार्यक्षमता की पेशकश के मुकाबले ज्यादा पहुंच नहीं है।

मुझे आश्चर्य है कि डिफ़ॉल्ट क्वेरी के भीतर से डिफ़ॉल्ट_टाइम-ज़ोन को बदलने का कोई तरीका है या मुझे कमांड लाइन पर वापस आने की आवश्यकता है (जिस पर मुझे दुर्भाग्यवश तक पहुंच नहीं है)।

आपकी मदद और सलाह के लिए धन्यवाद,

मार्टिन

+1

क्या आपने सेट सत्र समय_ज़ोन = '+0: 00' या सेट ग्लोबल टाइम_ज़ोन = '+0: 00' की कोशिश की है? – dseibert

+0

टिप 'क्लाइंट 0 9' के लिए धन्यवाद, लेकिन दुर्भाग्य से मुझे "# 1227 - एक्सेस अस्वीकार कर दिया गया है; आपको इस ऑपरेशन के लिए सुपर विशेषाधिकार की आवश्यकता है", साझा होस्टिंग पर पर्याप्त विशेषाधिकार नहीं। – sigi

उत्तर

2

साझा होस्टिंग के लिए, आप आप के लिए आप और परिवर्तन सामान्य समय क्षेत्र में मदद करने के समर्थन-लोग पूछने के लिए है? मुझे आर्कोर होस्टिंग-प्रदाता के साथ एक ही समस्या थी, जिसे उन्हें बुलाया गया और उन्होंने इसे ठीक किया। इससे पहले, मुझे PHP कोड से date_default_timezone_set() में अस्थायी समाधान मिला। शायद सबसे अच्छा समाधान किसी ऐसे व्यक्ति से पूछना है जिसके पास उस पैरामीटर को बदलने का विशेषाधिकार है।

+0

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

6

संक्षेप में, MySQL वास्तव में UTC के रूप में डेटा प्रकार फ़ील्ड को 'datetime' स्टोर करता है।

However, PhpMyAdmin आप सर्वर डिफ़ॉल्ट समय अपने भ्रम का उपयोग कर, इसलिए दिनांकों को दर्शाता है।

उदाहरण के लिए, PhpMyAdmin में अपने एसक्यूएल बयान से पहले इस लाइन जोड़ने का प्रयास करें:

SET @@session.time_zone='+00:00'; 
SELECT * FROM MY_TABLE 

देखें अधिक जानकारी के लिए MySQL प्रलेखन, या इस पोस्ट में जवाब: How to correctly set mysql timezone

चीयर्स मैट

-1
<?php 
date_default_timezone_set('UTC'); //define local time 

$date=date('l jS \of F Y h:i:s A'); //type of time shown 

$conn=mysql_connect("localhost","root","") or die('Could not connect!'); //your database connection here 

$db_selected = mysql_select_db('databasename', $conn); //select db 

$result=mysql_query("INSERT INTO table (date) VALUES ('$date')", $conn); 
?> 

बस समय को VARCHAR के रूप में डीबी में भेजा गया उम्मीद है कि यह मदद करता है और sy के लिए खेद है ntax त्रुटियां (यदि कोई हैं)।