php

2016-12-01 15 views
8

में 2 टाइमस्टैम्प के बीच अंतर की गणना करें मैं अपनी तालिका में 2 टाइमस्टैम्प का उपयोग कर रहा हूं जो स्टार्टटाइम डेटाटाइप-टाइमस्टैम्प और वर्तमान टाइमस्टैम्प के रूप में है। endtime डेटाप्रकार-टाइमस्टैम्प और 0000-00-00 00:00:00php

कैसे php में StartTime 2 टाइम स्टांप के बीच अंतर की गणना करने के रूप में डिफ़ॉल्ट: 2016/11/30 03:55:06 endtimetime: 2016- 11-30 11:55:06

+1

हाय, क्या अंतराल आप चाहते हैं (सेकंड या उससे घंटों या दिनों के)? – Ronald

+0

संभावित डुप्लिकेट [मैं PHP में दो तिथियों के बीच घंटा अंतर कैसे प्राप्त करूं?] (Http://stackoverflow.com/questions/3763476/how-do-i-find-the-hour-difference-between-two- दिनांक-इन-php) की – Ronald

+2

संभावित डुप्लिकेट (http://stackoverflow.com/questions/365191/how-to-get-time-difference-in-minutes-in- [कैसे PHP में मिनट में समय अंतर पाने के लिए] php) – chus

उत्तर

3

आप php strtotime का उपयोग करके अपने टाइमस्टैम्प को यूनिक्स टाइमस्टैम्प (सेकेंड में समय) में परिवर्तित कर सकते हैं और फिर अंतर ले सकते हैं। अब आप सेकंड में समय में अंतर है और आप क्या जरूरत के लिए परिवर्तित कर सकते हैं ... घंटे, मिनट, दिन

http://php.net/manual/en/function.strtotime.php

पूर्व:

$ts1 = strtotime($start); 
$ts2 = strtotime($end);  
$seconds_diff = $ts2 - $ts1;        
$time = ($seconds_diff/3600); 
6

किसी भी प्रक्रियात्मक तरह से बचा जाना चाहिए। दिनांक समय अंतर के लिए उपयोग OOP विधि:

$datetime1 = new DateTime('2016-11-30 03:55:06');//start time 
$datetime2 = new DateTime('2016-11-30 11:55:06');//end time 
$interval = $datetime1->diff($datetime2); 
echo $interval->format('%Y years %m months %d days %H hours %i minutes %s seconds');//00 years 0 months 0 days 08 hours 0 minutes 0 seconds 

आप कर सकते हैं अपनी आवश्यकताओं के अनुसार सेटअप अंतर प्रारूप।

%Y - use for difference in year 
%m - use for difference in months 
%d - use for difference in days 
%H - use for difference in hours (24 hour format) 
%i - use for difference in minutes 
%s - use for difference in seconds 

आप अपने जरूरत के अनुसार ऊपर से कोई भी मान निकाल सकते हैं। उदाहरण के लिए यदि आप केवल घंटे के अंतर में रुचि रखते हैं और आप जानते हैं कि अंतर 24 घंटे से अधिक नहीं हो सकता है तो केवल %H का उपयोग करें।

आप सेकंड में कुल अंतर करना चाहते हैं तो आप उपयोग कर सकते हैं:

echo $difference_in_seconds = strtotime('2016-11-30 11:55:06') - strtotime('2016-11-30 03:55:06');//28800 

अपनी जरूरत और अंतिम प्रारूप है जिसमें आप समय अंतर करना चाहते हैं पर निर्भर करता है।

संदर्भ जाँच के लिए: http://php.net/manual/en/datetime.diff.php

मुझे आशा है कि यह मदद करता है

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