2012-03-31 17 views
7

मैं उपयोगकर्ता की वर्तमान तिथि से शुरू होने वाली एक चुनिंदा सूची बनाने का प्रयास कर रहा हूं। मुझे यह चाहिए कि यह यूनिक्स टाइमस्टैम्प प्रारूप में आधी रात को सेट हो।मेरा स्ट्रेटोटाइम ("आज") क्यों काम नहीं करता है?

यह सब मैं कर रहा हूँ है:

1333144800 

जो है: शुक्र, 30 मार्च 2012 22:00:00 युग परिवर्तक

के अनुसार जीएमटी

$today = strtotime('today'); 
echo $today; 

यह मेरा परिणाम है

+3

ऐसा लगता है कि सर्वर का टाइमज़ोन जीएमटी + 2 पर सेट है, इसलिए आपको वास्तव में सही परिणाम मिल रहा है। – Niko

+2

गंभीरता से, * इस तरह की चीजों के लिए कोई भी प्रतिक्रिया नहीं होनी चाहिए "स्ट्रेटोटाइम" काम नहीं करता है "। अगला क्या, 'strlen' में एक बग? – Jon

उत्तर

15

आप strtotime() यूटीसी के लिए एक टाइमस्टैम्प रिश्तेदार (00:00:00 जैसे 00:00:00 UTC + 2 के बजाय यूटीसी वापस जाने के लिए चाहते हैं, अगर आपके सिस्टम एक साथ एक समय क्षेत्र पर सेट किया जाता है के खिलाफ 2 घंटे की भरपाई यूटीसी/जीएमटी), आपको यह निर्दिष्ट करने की आवश्यकता है कि:

$today = strtotime('today UTC'); 
+0

वाह, यह काम कर रहा है, –

+0

बहुत बहुत धन्यवाद –

0

आपको अपनी php.ini फ़ाइल में टाइमज़ोन कॉन्फ़िगरेशन की जांच करनी चाहिए। मेरे मामले (मैं अल साल्वाडोर में रहते हैं) में मैं इस तरह बदलना पड़ा:

date.timezone = America/El_Salvador 
2
strtotime($time) 

एक यूनिक्स timetamp वापस जाने के लिए बनाया गया है, जिसका अर्थ है, यह जनवरी 1, 1970 के बाद से सेकंड की संख्या वापस आ जाएगी । http://www.php.net/manual/en/function.strtotime.php

इस के आसपास पाने के लिए, की तरह कुछ का उपयोग करें:

$today = date("d/m/Y H:i:s", strtotime('today')); 
echo $today; 
0

आप विशेष रूप से दिन के रूप में समय निर्धारित करने की हो सकता है और साथ ही:

$today_midnight = strtotime('today UTC 00:00'); 
5

जीएमटी (+0) समय

echo $today = strtotime('today GMT'); 
echo "<br>" . $today = date("d-m-Y H:i:s", $today); 

हमें उम्मीद है कि अपने सर्वर GMT पर चलाता है - (बाद में समय प्रदर्शित करता है के साथ चालों के लिए) है कि सबसे अच्छा है। यदि नहीं, तो आपको php.ini को "date.timezone = GMT" सेट करना होगा।

जब आप इसे पूरा करते हैं, तो आप मेरे कोड के साथ 00:00 देखेंगे।

उसके बाद, आप समारोह को विकसित करना होगा (यानी DisplayDate()) अगर

  • आप जीएमटी क्षेत्र में नहीं सही ढंग से अपनी वेबसाइट की तारीखों प्रदर्शित करने के लिए अपनी स्क्रिप्ट में
  • या/और अपने उपयोगकर्ताओं के लिए अगर आप चाहते हैं उदाहरण के लिए टाइमज़ोन चयन के साथ अपने टाइमज़ोन में समय देखने के लिए।

डिस्प्लेडेट() में डेलाइट परिवर्तनों (0, या +1 घंटे/गर्मी और सर्दियों का समय) के लिए समर्थन शामिल होना चाहिए।