2015-03-31 22 views
5

मैं एक laravel ऐप्लिकेशन है, उनके साथ बचाने created_at और मैं अपने डेटाबेस के लिए उपयोगकर्ताओं को चेकइन और checkouts को बचाने के लिए कोशिश कर रहा हूँगलत समय क्षेत्र

मैं एक मॉडल Checkins है और मैं created_at की तरह यह रिकॉर्ड और

updated_at मेरे स्थानीय होस्ट यह मेरी timezome (मिस्र) के लिए सही समय के साथ बचाने पर, मैं निम्नलिखित

|-------------------------------------------------------------------------- 
| Application Timezone 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the default timezone for your application, which 
| will be used by the PHP date and date-time functions. We have gone 
| ahead and set this to a sensible default for you out of the box. 
| 
| This is a bad thing really i think there is a problem within the server, the datetime 
*/ 

'timezone'  => 'EET', 

यह मेरे स्थानीय होस्ट पर बस ठीक काम कर रहा है और वर्तमान सही समय के साथ बचाने के लिए बदल दिया है app.php फ़ाइल की कोशिश की, productio के लिए n यह जब मैं उत्पादन टर्मिनल में लिखने UTC समयज़ोन

इसके अलावा के साथ बचाने के आदेश की तारीख date, मैं निम्नलिखित हो

Tue Mar 31 12:46:38 EET 2015 

और मैं समय क्षेत्र के लिए mysql की जाँच की और मैंने पाया यह समय हो रही है सिस्टम समय

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

क्या गलत है?

अद्यतन:

मैं date('H:i:s'); के साथ एक php पृष्ठ बनाया है और यह सही समय यह सलाह दी जाती है

+0

यदि आप उत्पादन बॉक्स पर mysql उदाहरण में लाइन कमांड करते हैं और मैन्युअल रूप से create_at = NOW() के साथ एक अद्यतन करते हैं जो डाला जाता है? – Joe

+0

मुझे सही समय प्रारूप मिलता है जब मैं अब() अपडेट करता हूं, लेकिन फिर भी मेरे ऐप से डेटा को सहेजते समय मुझे गलत टाइमज़ोन – osos

+0

ठीक है, इसलिए हम जानते हैं कि गलती MySQL के साथ नहीं है, यह आपके ऐप/लैरवेल के साथ है। क्या आपने अपने app.php में लोकेल भी सेट किया है? – Joe

उत्तर

0

रूप php documentation प्रति है कि आप अपने स्थान के लिए सही समय क्षेत्र का उपयोग, इस तरह के Asia/Shanghai या Australia/Perth के रूप में प्रिंट है EET या CET का उपयोग न करें।

आपका अपने स्थान here

4

अपने Laravel अनुप्रयोग के लिए समय क्षेत्र सेट करने के लिए के लिए मिल सकता है समय क्षेत्र, में 'timezone' बदलने अपने config/app.php

|-------------------------------------------------------------------------- 
| Application Timezone 
|-------------------------------------------------------------------------- 
| 
| Here you may specify the default timezone for your application, which 
| will be used by the PHP date and date-time functions. We have gone 
| ahead and set this to a sensible default for you out of the box. 
| 
| This is a bad thing really i think there is a problem within the server, the datetime 
*/ 

'timezone'  => 'America/Los_Angeles', 

आप समय क्षेत्र here जरूरत है पा सकते हैं।

+1

मैं बस 'टाइमज़ोन' => date_default_timezone_get() 'का उपयोग करता हूं, इसलिए मुझे दो स्थानों पर टाइमज़ोन के बारे में चिंता करने की ज़रूरत नहीं है। – grimmdude

+1

@grimmdude को यह भी पता नहीं था कि PHP उस समारोह में था :) महान विचार! – Grigio

0

शायद आप डेटा डालने के लिए insert या insertGetId का उपयोग करें?

यदि आप डेटा डालने के लिए Eloquent(like ->save()) का उपयोग करते हैं, तो समय सही होगा।

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