2011-12-18 20 views
21

यदि मेरे पास यादृच्छिक यूनिक्स टाइमस्टैम्प है, तो मैं इसे आज के मध्यरात्रि या उपयोगकर्ता द्वारा चुने गए मध्यरात्रि में कैसे घुमा सकता हूं। इसका कारण यह है कि मैं एक निश्चित दिन के आधी रात के बाद घंटे और मिनट जोड़ना चाहता हूं।यूनिक्स टाइमस्टैम्प राउंड मध्यरात्रि

उदाहरण के लिए यदि टाइमस्टैम्प 1324189035 है तो मैं उस दिन के मध्यरात्रि में टाइमस्टैम्प लगाने के लिए घंटे, मिनट और सेकंड कैसे हटा सकता हूं।

+2

किस समय का मध्यरात्रि? –

उत्तर

19
echo date('d-m-Y H:i:s', strtotime('today', 1324189035)); 
+0

सही। धन्यवाद! – user962449

+1

यह सुंदर है। मैंने एक देखा था जहां बॉक्स के बाहर सोचने वाला कोई व्यक्ति '$ roundedStamp = $ time - ($ time% 86400) जैसा था;' और यह चालाक था लेकिन सही नहीं था। यह ऊपर या नीचे गोल करता है, इसलिए यह काम नहीं करता है। यह करता है :) –

+0

यह एक तिथि स्ट्रिंग वापस कर देगा, आपको मध्यरात्रि का टाइमस्टैम्प प्राप्त करने के लिए 'स्ट्रेटोटाइम' जोड़ने की आवश्यकता है जो पूरे कोड के चारों ओर लपेटना चाहिए। –

16
क्योंकि आप इसे कैसे उपयोग कर रहे हैं की

, मैं सभी में आधी रात की गणना नहीं होगा: यह काफी आसान बस कन्वर्ट करने के लिए 24 घंटे समय में क्या आप टाइमस्टैम्प में जोड़े जा रहे है और उसके बाद का उपयोग strtotime:

echo strtotime("0:00",1324189035); // 1324184400 
echo strtotime("17:50",1324189035); // 1324248600 

और अगर आपके पास करने के लिए मानव पठनीय में है कि, date और m/d/Y H:i:s उपयोग करना चाहते हैं:

echo date('m/d/Y H:i:s', strtotime('17:50',1324189035)); // 12/18/2011 17:50:00 
+0

यह समाधान सबसे सुरुचिपूर्ण और सुखद है। इसे याद रखने की जरूरत है कि यह सभी जीएमटी है, इसलिए किसी भी अन्य समय क्षेत्र में 17:50 प्राप्त करने के लिए, टाइम ऑफसेट को इस बार मैपिंग से पहले जोड़ा जाना होगा, फिर बाद में फिर से लिया जाएगा (मान लीजिए कि आप आखिरकार जीएमटी/डेटाबेस में डेटा खोजने के लिए यूटीसी समय, उदाहरण के लिए)। – Jason

+0

ऐसा लगता है कि मध्यरात्रि * पिछली * आधी रात को नक्शा लगता है: 'गूंज स्ट्रेटोटाइम ("0:00 +0000", 1443441600); 'प्रिंट्स' 1443398400' –

4

सीधे शब्दों में

का प्रयोग करें
strtotime('today midnight'); 
संबंधित मुद्दे