2012-07-26 16 views
6

हैलो मुझे कुछ दिनांक अंतराल के बीच औसत समय की गणना करने की आवश्यकता है।औसत दिनांक इंटरवल php

वास्तव में मैं इस तरह की कुछ Dateinterval है:

00-00-0 00:13:17 
00-00-0 00:7:47 
00-00-0 00:7:14 
00-00-0 00:10:39 

मैं इस अंतराल के बीच औसत समय की गणना करने की जरूरत है:

for ($i = 0 ; $i < count($startDate) ; $i++) 
    { 
      $diffTable[] = date_diff($finishDate[$i], $startDate[$i]); 
      echo $diffTable[$i]->format("%Y-%M-%d %H:%i:%s"); 
    } 

यहाँ उत्पादन होता है। यहां केवल मिनट और दूसरा है, लेकिन यह महीना या वर्ष हो सकता है।

मुझे आसानी से इसकी गणना करने का एक अच्छा तरीका नहीं मिल रहा है। मैं तो बस इस तरह एक रूपांतरण के साथ हर dateInterval जोड़ सकते हैं:

sec + 60xmin + 3600xHour ...

और उनमें Modulo (%) के साथ खेलते हैं।

लेकिन मुझे उम्मीद है कि एक और तरीका है?

उत्तर

1

आपको मिनटों को 60, 3600 के साथ घंटे, आदि तक गुणा करना चाहिए, जब तक कि केवल सेकंड शेष न हों। वहां से औसत की गणना करना आसान है।

+0

मुझे पता है कि मैं इस तरह की गणना कर सकता हूं लेकिन, मैं एक और तरीका ढूंढ रहा हूं ... –

-1

इस लिंक देखें http://php.net/manual/en/function.date-diff.php

तारीख अंतर उपयोगकर्ता/डेवलपर की नोट में उपलब्ध कार्यों का गुच्छा रहे हैं।

उन्हें आज़माएं। मुझे उम्मीद है कि उनमें से एक आपकी मदद करेगा।

+0

मैं एक नज़र डालता हूं लेकिन मुझे वह मदद नहीं मिल सकती है जो मेरी मदद कर सकती है ... –

+0

"परम्यूसीएमएमएस डॉट सह डॉट पर यूजीन ज़ा "उसी पृष्ठ पर। मुझे लगता है कि date_diff ($ start, $ end = "अभी") फ़ंक्शन आपकी मदद करेगा। – pinaldesai

+0

आपको लगता है कि कौन से फ़ंक्शन आपको प्रश्न का उत्तर देने में मदद करेंगे? क्या आप एक उदाहरण प्रदान कर सकते हैं जो दर्शाता है कि डेट-डिफ फ़ंक्शन कैसे लेना है और औसत या यहां तक ​​कि एक विभाजन भी करना है? – Rikki

1

ठीक untif मैं sth बेहतर मैं सिर्फ यह लिख पाया:

function dateIntervalToSecond($interval) 
    { 
     return $interval->y  * 31556926 
       + $interval->m * 2629743 
       + $interval->d * 6400 
       + $interval->h * 3600 
       + $interval->i * 60 
       + $interval->s; 
    } 

यह सही नहीं है, लेकिन कुछ नहीं से बेहतर।

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