मैं MySQL का समय क्षेत्र कैसे सेट करूँ?


339

एक सर्वर पर, जब मैं चलाता हूं:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 16:54:29 |
+---------------------+
1 row in set (0.00 sec)

दूसरे सर्वर पर:

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2009-05-30 20:01:43 |
+---------------------+
1 row in set (0.00 sec)

यहाँ सिर्फ एक टाइमज़ोन अंतर नहीं है - लेकिन साथ ही एक नहीं-तो-बेहिसाब समय-बहाव भी है: "अपने डीबीए के बारे में बात करें ntp- और देखें कि आपके लिए क्या सही है!"
colm.anseo

@ colm.anseo शांत हो जाओ यह शायद प्रश्नों को चलाने के बीच का अंतर है
होसेएनजेएफ

1
@HosseyNJF 7 मिनट से? तुलनाओं के बीच कॉफ़ी तोड़ना?
colm.anseo

जवाबों:


525

मैंने सोचा कि यह उपयोगी हो सकता है:

तीन स्थान हैं जहाँ MySQL में समयक्षेत्र सेट किया जा सकता है:

[Mysqld] सेक्शन में "my.cnf" फाइल में

default-time-zone='+00:00'

@@ Global.time_zone चर

यह देखने के लिए कि वे किस मूल्य पर सेट हैं:

SELECT @@global.time_zone;

इसके लिए एक मान सेट करने के लिए या तो एक का उपयोग करें:

SET GLOBAL time_zone = '+8:00';
SET GLOBAL time_zone = 'Europe/Helsinki';
SET @@global.time_zone = '+00:00';

(नाम टाइमज़ोन जैसे 'यूरोप / हेलसिंकी' का उपयोग करने का मतलब है कि आपके पास एक टाइमज़ोन तालिका ठीक से आबाद होना चाहिए।)

ध्यान रखें कि +02:00एक ऑफसेट है। Europe/Berlinएक टाइमज़ोन है (जिसमें दो ऑफ़सेट हैं) और CESTएक घड़ी का समय है जो एक विशिष्ट ऑफसेट से मेल खाता है।

@@ session.time_zone चर

SELECT @@session.time_zone;

इसे सेट करने के लिए या तो एक का उपयोग करें:

SET time_zone = 'Europe/Helsinki';
SET time_zone = "+00:00";
SET @@session.time_zone = "+00:00";

दोनों सिस्टम वापस कर सकते हैं जिसका अर्थ है कि वे my.cnf में सेट किए गए समयक्षेत्र का उपयोग करते हैं।

काम करने के लिए टाइमज़ोन नामों के लिए, आपको अपने टाइमज़ोन सूचना तालिकाओं को पॉपुलेट करने की आवश्यकता है: http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html । मैं इस जवाब में उन तालिकाओं को कैसे पॉप्युलेट करता हूं, इसका भी उल्लेख करता हूं ।

के रूप में वर्तमान timezone ऑफसेट प्राप्त करने के लिए TIME

SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP);

यदि आपका टाइमज़ोन +2: 00 है तो यह 02:00:00 पर वापस आ जाएगा।

वर्तमान UNIX टाइमस्टैम्प प्राप्त करने के लिए:

SELECT UNIX_TIMESTAMP();
SELECT UNIX_TIMESTAMP(NOW());

टाइमस्टैम्प कॉलम को UNIX टाइमस्टैम्प के रूप में प्राप्त करने के लिए

SELECT UNIX_TIMESTAMP(`timestamp`) FROM `table_name`

यूनिक्स टाइमस्टैम्प के रूप में एक यूटीसी डेटाइम कॉलम प्राप्त करने के लिए

SELECT UNIX_TIMESTAMP(CONVERT_TZ(`utc_datetime`, '+00:00', @@session.time_zone)) FROM `table_name`

नोट: टाइमज़ोन बदलने से संग्रहीत डेटाटाइम या टाइमस्टैम्प नहीं बदलेगा , लेकिन यह मौजूदा टाइमस्टैम्प कॉलम के लिए एक अलग डेटाटाइम दिखाएगा क्योंकि वे आंतरिक रूप से यूटीसी टाइमस्टैम्प के रूप में संग्रहीत होते हैं और बाहरी रूप से वर्तमान MySQL टाइमज़ोन में प्रदर्शित होते हैं।

मैंने यहां एक चेसशीट बनाई: क्या MySQL को UTC को अपना टाइमज़ोन सेट करना चाहिए?


3
+00:00यह एक समयक्षेत्र नहीं है, यह एक समय की भरपाई है। डीएसटी के संबंध में क्या होता है? क्या यह +0 साल के दौर में रहता है?
मपेन १२'१४ ०४:०४

1
@ मर्क मुझे यकीन नहीं है, डॉक्स का कहना है कि जब time_zone="+00:00"आप सेट करते हैं तो यूटीसी से ऑफसेट का उपयोग करके टाइमजोन सेट कर रहे हैं , यह देखते हुए कि सेट मूल्य कभी नहीं बदलता है और यह कि यूटीसी डीएसटी का पालन नहीं करता है, मैं मान सकता हूं कि यह पूरे वर्ष एक ही रहता है।
टिमो हुओवेनन

1
@TimoHuovinen क्षमा करें, मेरा मतलब था कि एक ऑफसेट की तरह +00:00 दिखता है इसलिए यह अजीब है कि MySQL ने केवल "स्ट्रिंग" का उपयोग करने के बजाय UTC का प्रतिनिधित्व करने के लिए चुना। जानकारी के लिए धन्यवाद।
एमपीएन

1
मैंने +00: 00 सेट किया है, लेकिन मुझे यह त्रुटि मिलती है: त्रुटि: कॉन्फ़िगर फ़ाइल में पूर्ववर्ती समूह के बिना पाया गया विकल्प: /etc/my.cnf
जैनोस

5
Win7 में, mysql सेटिंग फ़ाइल का पथ हैC:\ProgramData\MySQL\MySQL Server x.x\my.ini
oabarca

83

किसी के लिए भी यह समस्या है:

value="jdbc:mysql://localhost:3306/dbname?serverTimezone=UTC"

मेरे लिए काम किया। बस ?serverTimezone=UTCअंत में संलग्न करें ।


यदि मेरा समय क्षेत्र UTC + 7 है, तो मैं इसे कनेक्शन स्ट्रिंग में कैसे निर्दिष्ट कर सकता हूं? मैंने कोशिश की ""? सर्वरटाइमजोन = यूटीसी + 7 "और यह काम नहीं करता है।
१ế पर चिन Nghê

1
सवाल JDBC का नहीं था, बल्कि MySQL का था।
लुइज़

2
@ Chi @nNghê: आपको BTW के Asia/Ho_Chi_Minhबजाय उपयोग करना चाहिए UTC, सवाल MySQL timezone बदलने के बारे में है। तो कृपया @Timo उत्तर को देखें। यदि आपको MySQL docker से परेशानी है, तो TZ वातावरण जोड़ें और इसे काम करना चाहिए।
लीम ले

2
यह केवल JDBC को सूचित करता है कि सर्वर टाइमज़ोन क्या है, यह इसे बदलता नहीं है। सत्र टाइमज़ोन सेट करने के लिए, उत्तर की जाँच करें जो उपयोग करते हैंSET time_zone=...
निकोले मिहाजलोविस

मुझे सीडीटी त्रुटि मिल रही थी, लेकिन इसने मेरे लिए इसे ठीक कर दिया।
अकसेक्स

58

जब आप MySQL या PHP के लिए टाइम ज़ोन सर्वर को कॉन्फ़िगर कर सकते हैं:

याद है:

  1. समय क्षेत्र प्रणाली बदलें। उबंटू के लिए उदाहरण:

    $ sudo dpkg-reconfigure tzdata
  2. सर्वर को पुनरारंभ करें या आप Apache 2 और MySQL को पुनरारंभ कर सकते हैं:

    /etc/init.d/mysql restart

2
हो सकता है कि यह दृष्टिकोण सही न हो। UTC के साथ सर्वर रखने की स्थिति के बारे में सोचें, लेकिन आपका आवेदन UTC -0600 पर किसी देश को डेटा प्रदान कर रहा है। MySQL के लिए टाइमज़ोन समायोजित करने के लिए, बेहतर हो सकता है।
ivanleoncz

1
खासकर यदि आप एक ऐसे क्षेत्र में काम करते हैं जो कई टाइमज़ोन को कवर करता है।
एलेक्सिस विलके

57

इसे वर्तमान सत्र के लिए सेट करने के लिए, करें:

SET time_zone = timezonename;

14
@@ session.time_zone का चयन करें;
जेम्स स्किडमोर

1
मैं अपने सिस्टम पर कुछ त्रुटियों को ठीक करने की कोशिश कर रहा हूं, और मुझे अपना समय_जैसे UTC को सेट करने की आवश्यकता है, GMT की नहीं। क्या आप जानते हैं कि अगर मैं '-0: 00' या '+00: 00' पर सेट करता हूं तो यह UTC एनोटेशन या GMT एनोटेशन है? मुझे यह विशिष्ट जानकारी नहीं मिल रही है। चीयर्स!
rafa.ferreira

@ कस्तानो, मुझे पूरा यकीन है कि या तो कोई ठीक काम करेगा। इस प्रश्न पर स्पष्टीकरण देखें: stackoverflow.com/questions/3466630/…
जेम्स स्किडमोर

समय क्षेत्र का मान PHP में एक सेट के समान हो सकता है, जैसे कि SET time_zone = 'America/Boise'। उत्तर के लिए धन्यवाद, जेम्स स्किडमोर!
एडम एफ

1
@the_nuts हां, SET time_zone = 'UTC';सर्वर रिस्टार्ट के दौरान सेटिंग खो जाती है
टिमो हुओवेंन

48

बस इसे अपने MySQL सर्वर पर चलाएं:

SET GLOBAL time_zone = '+8:00';

जहां +8: 00 आपका समय क्षेत्र होगा।


14
ध्यान दें, यह केवल तब तक अस्थायी है जब तक आप
मैसकल को

एक DB से जुड़ने पर शायद ही किसी के पास सुपरसुसर विशेषाधिकार होते हैं। @@session.time_zoneअन्य उत्तरों में वर्णित सेटिंग बेहतर मार्ग है।
colm.anseo

16

मेरे लिए भारत में एक स्थान के लिए यह काम:

SET GLOBAL time_zone = "Asia/Calcutta";
SET time_zone = "+05:30";
SET @@session.time_zone = "+05:30";

आपको इसे mysql पर क्वेरी के रूप में चलाने या my.conf के तहत लिखने के लिए सिंटैक्स डिफ़ॉल्ट-टाइम-ज़ोन = '+05: 30' के साथ लिखने की आवश्यकता है
स्वप्निल बिजवे

11

जब आप इसे शुरू करते हैं, तो आप सर्वर की डिफ़ॉल्ट टाइमज़ोन निर्दिष्ट कर सकते हैं, http://dev.mysql.com/doc/refman/5.1/en/server-options.html और विशेष रूप से --default-time-zone=timezoneविकल्प देखें। आप के साथ वैश्विक और सत्र समय क्षेत्रों की जाँच कर सकते हैं

SELECT @@global.time_zone, @@session.time_zone;

या तो या दोनों के SETबयान के साथ सेट ; देख http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html कई और अधिक जानकारी के लिए।


11

ध्यान रखें, कि 'देश / क्षेत्र' कभी-कभी काम नहीं कर रहा है ... यह मुद्दा OS, MySQL संस्करण और हार्डवेयर निर्भर नहीं है - मैं इसे वर्ष 2003 से आज तक FreeBSD 4 और स्लैकवेयर लिनक्स के बाद से मिला हूं। संस्करण 3 से MySQL नवीनतम स्रोत ट्रंक तक। यह ODD है, लेकिन ऐसा नहीं होता है। उदाहरण के लिए:

root@Ubuntu# ls -la /usr/share/zoneinfo/US
total 8

drwxr-xr-x  2 root root 4096 Apr 10  2013 .
drwxr-xr-x 22 root root 4096 Apr 10  2013 ..
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Alaska -> ../SystemV/YST9YDT
lrwxrwxrwx  1 root root   21 Jul  8 22:33 Aleutian -> ../posix/America/Adak
lrwxrwxrwx  1 root root   15 Jul  8 22:33 Arizona -> ../SystemV/MST7
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Central -> ../SystemV/CST6CDT
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Eastern -> ../SystemV/EST5EDT
lrwxrwxrwx  1 root root   37 Jul  8 22:33 East-Indiana -> ../posix/America/Indiana/Indianapolis
lrwxrwxrwx  1 root root   19 Jul  8 22:33 Hawaii -> ../Pacific/Honolulu
lrwxrwxrwx  1 root root   24 Jul  8 22:33 Indiana-Starke -> ../posix/America/Knox_IN
lrwxrwxrwx  1 root root   24 Jul  8 22:33 Michigan -> ../posix/America/Detroit
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Mountain -> ../SystemV/MST7MDT
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Pacific -> ../SystemV/PST8PDT
lrwxrwxrwx  1 root root   18 Jul  8 22:33 Pacific-New -> ../SystemV/PST8PDT
lrwxrwxrwx  1 root root   20 Jul  8 22:33 Samoa -> ../Pacific/Pago_Pago
root@Ubuntu#

और इस तरह एक बयान काम करने वाला है:

SET time_zone='US/Eastern';

लेकिन आपको यह समस्या है:

त्रुटि कोड: 1298. अज्ञात या गलत समय क्षेत्र: 'EUS / पूर्वी'

अपने ज़ोन सूचना निर्देशिका में सबफ़ोल्डर पर एक नज़र डालें, और सिम्कलिंक के लिए वास्तविक फ़ाइल नाम देखें, इस मामले में यह EST5EDT है। इसके बजाय इस कथन को आज़माएँ:

SET time_zone='EST5EDT';

और यह वास्तव में काम कर रहा है क्योंकि इसे माना जाता है! :) इस ट्रिक को ध्यान में रखें; मैंने इसे MySQL मैनुअल और आधिकारिक दस्तावेज़ीकरण में प्रलेखित होने के लिए नहीं देखा है। लेकिन संबंधित डॉक्यूमेंट को पढ़ना जरूरी है: MySQL 5.5 टाइमज़ोन आधिकारिक प्रलेखन - और अपने सर्वर में टाइमज़ोन डेटा लोड करने के लिए मत भूलना जैसे (रूट उपयोगकर्ता के रूप में चलाएं!)।

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

ट्रिक नंबर एक - यह बिल्कुल MySQL रूट यूजर के तहत किया जाना चाहिए। यह विफल हो सकता है या गैर-काम करने वाले परिणाम का उत्पादन कर सकता है यहां तक ​​कि उपयोगकर्ता जो एक MySQL डेटाबेस तक पूरी पहुंच रखता है - मैंने खुद को गड़बड़ देखा।


कृपया मुझे अपना नाम-ए और आगे का विवरण बताएं - उबंटू डेस्कटॉप और सर्वर पर कुछ काम के मामले हैं।
एलेक्सी वेसनिन

8

यदि आप पीडीओ का उपयोग कर रहे हैं:

$offset="+10:00";
$db->exec("SET time_zone='".$offset."';");

यदि आप MySQLi का उपयोग कर रहे हैं:

$db->MySQLi->query("SET time_zone='".$offset."';");

यहाँ ऑफ़सेट्स फ़ॉर्मेट करने के बारे में अधिक जानकारी: https://www.sitepoint.com/synchronize-php-mysql-timezone-configuration/


7

यह एक 10 साल पुराना सवाल है, लेकिन वैसे भी यहाँ मेरे लिए क्या काम किया है। मैं हाइबरनेट 5 और स्प्रिंगबूट 4 के साथ MySQL 8.0 का उपयोग कर रहा हूं।

मैंने उपरोक्त स्वीकृत उत्तर की कोशिश की है, लेकिन मेरे लिए काम नहीं किया, मेरे लिए क्या काम किया है:

db.url=jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Europe/Warsaw

यदि यह आपकी मदद करता है तो आप इसे उभारना न भूलें: D


4

एक और सुझाव के साथ प्राचीन प्रश्न:

यदि आपने हाल ही में OS का समयक्षेत्र बदला है, जैसे कि:

unlink /etc/localtime
ln -s /etc/usr/share/zoneinfo/US/Eastern /etc/localtime

... जब तक आप db सेवा को पुनः आरंभ नहीं करेंगे तब तक MySQL (या MariaDB) ध्यान नहीं देगा:

service mysqld restart

(या)

service mariadb restart

3

यदि आप MySql कार्यक्षेत्र का उपयोग कर रहे हैं, तो आप इसे व्यवस्थापक दृश्य खोलकर और उन्नत टैब का चयन करके सेट कर सकते हैं। शीर्ष अनुभाग "स्थानीयकरण" है और पहला चेक बॉक्स "डिफ़ॉल्ट-समय-क्षेत्र" होना चाहिए। उस बॉक्स को जांचें और फिर अपना वांछित समय क्षेत्र दर्ज करें, सर्वर को पुनरारंभ करें और आपको जाने के लिए अच्छा होना चाहिए।


2
समस्या MySQL से संबंधित है, किसी विशेष प्रोग्राम से नहीं।
फेडोरक्वी 'SO रोकना नुकसानदायक'

3
ऐसा कुछ नहीं मिला।
कजकाई

1
ऐसा कुछ नहीं है
ग्रीन

MySQL कार्यक्षेत्र 6.3 के लिए: उदाहरण => विकल्प फ़ाइल => सामान्य => अंतर्राष्ट्रीय
पल्स

5
[ MySQL कार्यक्षेत्र 8.0 के लिए अद्यतन ] "सर्वर" = "विकल्प फ़ाइल" का चयन करें, और "सामान्य" टैब पर "अंतर्राष्ट्रीय" अनुभाग के नीचे देखें । संबंधित फ़ील्ड के साथ "डिफ़ॉल्ट-टाइम-ज़ोन" चेकबॉक्स होगा। इसलिए आप वहां डिफ़ॉल्ट समय क्षेत्र मान सेट कर सकते हैं ।
informatik01

3

सबसे पहले यह पता लगाने के लिए कि आप किस समय_जोन क्वेरी कर सकते हैं

SHOW VARIABLES LIKE '%time_zone%'; 

आपका आउटपुट निम्नानुसार होना चाहिए

**Variable_name**     **Value**
system_time_zone      CDT
time_zone             SYSTEM

फिर अगर आप इस बात की पुष्टि करना चाहते हैं कि आप कुछ टाइम ज़ोन की तरह सीडीटी कह रहे हैं तो ईएसटी जैसी चीज़ के बजाय आप यह जांच सकते हैं कि आपकी मशीन किस समय कहती है

SELECT NOW();

यदि यह वह समय नहीं है जब आप चाहते हैं कि आपको इसे बदलने की आवश्यकता है ... आपको बस इतना करना है SET time_zone = timezone_name। सुनिश्चित करें कि यह एक ऐसा है जो अंदर हैContinent/City प्रारूप में है।

यदि आप एक साझा सर्वर पर हैं क्योंकि आपके पास एक होस्टिंग सेवा है, तो कृपया php.ini फ़ाइल या .htm फ़ाइल को बदलने के बारे में इन उत्तरों को देखें ।


1
मैंने पहले कोशिश की है mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p Eऔर फिर SET time_zone = timezone_nameठीक काम किया है।
बराकत तुर्क

1

आपको अपना स्थान टाइमज़ोन सेट करना होगा। ताकि नीचे की प्रक्रिया का पालन करें
अपने MSQLWorkbench को खोलें इस तरह एक साधारण एसक्यूएल कमांड लिखें;

select now();

और आपका url भी इस तरह हो सकता है;

url = "jdbc:mysql://localhost:3306/your_database_name?serverTimezone=UTC";

@ LFFFF यह वह चीज है जिसके बारे में मैं सोच रहा था, इसलिए प्रत्येक db-connect के लिए टाइम-ज़ोन सेट किया जाना चाहिए यदि हम सत्र-स्कोप टाइम-ज़ोन का उपयोग कर रहे हैं, न कि 'ग्लोबल-स्कोप-टाइम-ज़ोन'। सत्र-स्कोप का उपयोग करना अच्छा है यदि ऐप में उपयोगकर्ता अलग-अलग समय-क्षेत्रों में हो सकते हैं, है ना?
वाल्टर एकहोम

1

MariaDB पर मानक समय क्षेत्र सेट करने के लिए आपको 50-server.cnf फ़ाइल पर जाना होगा।

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

फिर आप mysqld अनुभाग में निम्नलिखित प्रविष्टि दर्ज कर सकते हैं।

default-time-zone='+01:00'

उदाहरण:

#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking

### Default timezone ###
default-time-zone='+01:00'

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.

परिवर्तन कॉन्फ़िगरेशन फ़ाइल के माध्यम से किया जाना चाहिए, अन्यथा MariaDB सर्वर पुनरारंभ होने के बाद mysql तालिकाओं को रीसेट करेगा!


1

MySQL config फाइल को एडिट करें

sudo nano /etc/mysql/my.cnf

स्क्रॉल करें और इन्हें नीचे तक जोड़ें। प्रासंगिक समय क्षेत्र में बदलें

[mysqld]
default-time-zone = "+00:00"

सर्वर को पुनरारंभ करें

sudo service mysql restart

0

Windows (IIS) पर GLOBAL time_zone = 'यूरोप / हेलसिंकी' (या जो कुछ भी) सेट करने में सक्षम होने के लिए पहले MySQL time_zone विवरण तालिकाओं को आबाद करने की आवश्यकता है।

मैंने इन्हें इस लिंक https://dev.mysql.com/downloads/timezones.html से डाउनलोड किया है

डाउनलोड की गई SQL क्वेरी चलाने के बाद मैं GLOBAL time_zone सेट करने में सक्षम था और उस समस्या को हल कर सकता था, जहां मैंने अभी चयन किया था (); BST के बजाय GMT वापस कर रहा था।


मैं "यूरोप / स्टॉकहोम" के बजाय संख्या स्वरूप "+01: 00" का उपयोग कर सकता हूं, इसलिए मुझे time_zone विवरण तालिका को लोड करने की आवश्यकता नहीं थी, मुझे लगता है।
वाल्टर एकहोम

0

मेरे मामले में, समाधान को उन्नत सेटिंग्स में सर्वरटाइमज़ोन पैरामीटर को उचित मूल्य (मेरे समय क्षेत्र के लिए सीईटी) पर सेट करना था।

जैसा कि मैं IntelliJ का उपयोग करता हूं, मैं इसके डेटाबेस मॉड्यूल का उपयोग करता हूं। डेटाबेस में एक नया कनेक्शन जोड़ते समय और टैब जनरल में सभी प्रासंगिक मापदंडों को जोड़ने के बाद, "टेस्ट कनेक्शन" बटन पर एक त्रुटि थी। फिर, समाधान टैब एडवांस्ड में serverTimezone पैरामीटर सेट करने के लिए है।


0

यदि कोई भी GoDaddy Shared Hosting का उपयोग कर रहा है, तो आप मेरे लिए काम कर रहे समाधान के लिए कोशिश कर सकते हैं।

DB कनेक्शन शुरू करते समय, मेरे PDO ऑब्जेक्ट में time_zone कमांड सेट करें जैसे:

$pdo = new PDO($dsn, $user, $pass, $opt);
$pdo->exec("SET time_zone='+05:30';");

जहाँ "+05: 30" भारत का टाइमजोन है। आप अपनी जरूरत के अनुसार इसे बदल सकते हैं।

उसके बाद; दिनांक और समय से संबंधित सभी MySQL प्रक्रिया आवश्यक टाइमज़ोन के साथ सेट की गई हैं।

स्रोत: https://in.godaddy.com/community/cPanel-Hosting/How-to-change-TimeZone-for-MySqL/td-p/31861

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.