2010-03-15 15 views
6

हमारी साइट पर, हमारे पास बहुत से तैराकी के समय हैं जिन्हें हम सेकंड में कनवर्ट करना चाहते हैं। यानी 1: 23: 33.03 या 58: 22.43। क्या कोई PHP फ़ंक्शन है जो यह कर सकता है? एक MySQL समारोह?सेकंड को सेकंड्स में कनवर्ट करने के लिए फ़ंक्शन

उत्तर

-1

Strtotime आपको जो चाहिए वह है। आपको यूनिक्स टाइमस्टैम्प मिलता है जो इस मामले में सेकंड की संख्या होगी।

+0

इतना, दिन के समय की तलाश में नहीं एक स्विमिंग समय की एक रूपांतरण की तलाश में एचएच में: एमएम: एसएस.XX या एमएम: एसएस.XX कुल सेकेंड – Brian

+0

फिर से, आप टाइमलैप्स के बीच कुल सेकेंड में कनवर्ट करने के लिए स्ट्रेटोटाइम का उपयोग कर सकते हैं। – Sergi

8
function time2seconds($time='00:00:00') 
{ 
    list($hours, $mins, $secs) = explode(':', $time); 
    return ($hours * 3600) + ($mins * 60) + $secs; 
} 

here से।

MySQL भी TIME_TO_SEC()

+0

शायद मैं इसे इस तरह नाम नहीं दूंगा, लेकिन यह सही विचार है। –

+0

डाउनवोट क्यों? – jasonbar

+1

@ जेसनबार: आपने मेरा जवाब – zerkms

-1

है मैं एक छोटे से उलझन में हूँ लेकिन मुझे लगता है कि आप मतलब है। 1 घंटा, 23 मिनट और 23.03 सेकंड।

ऐसा करना मुश्किल नहीं है। मैंने यह PHP फ़ंक्शन बनाया जो ऐसा करता है। मेरा PHP सर्वर शुरू नहीं करना चाहता है, इसलिए मैं इसका परीक्षण नहीं कर सका, लेकिन मुझे लगता है कि इसे काम करना चाहिए।

 
function ConvertTimeToSeconds($T) 
{ 
    $exp = explode(":",$T); 
    $c = count($exp); 
    $r = 0; 
    if ($c == 2) 
    { 
     $r = (((int)$exp[0]) * 60) + ((int)$exp[1]); 
    }else{ 
     $r = (((int)$exp[0]) * 3600) + (((int)$exp[1]) * 60) + ((int)$exp[2]); 
    } 

    return $r; 
} 

ConvertTimeToSeconds("1:23:33.03"); 
11

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_time-to-sec

mysql> SELECT TIME_TO_SEC('22:23:00'); 
    -> 80580 
mysql> SELECT TIME_TO_SEC('00:39:38'); 
    -> 2378 
+0

@zerkms - सेकंड के अंशों के बारे में क्या? –

+0

कुछ भी नहीं। MySQL के समय/डेटाटाइम डेटाटाइप पर भिन्नता नहीं है: -एस – zerkms

+0

असल में, MySQL आपको विभिन्न दिनांक/समय कार्यों में पारित दिनांक/समय अक्षरों में माइक्रोसेकंड निर्दिष्ट करने और उन कार्यों में से कुछ के वापसी मूल्य के रूप में निर्दिष्ट करने की अनुमति देगा। यह उन्हें किसी भी DATE, DATETIME या TIMESTAMP कॉलम में संग्रहीत नहीं करेगा। – Rob

0

इसलिए यदि नहीं अंशों उचित समाधान के बिना mysql - यहाँ एक और मेरा

$time = '1:23:33.03'; 

$parts = explode(':', $time); 

$seconds = 0; 

foreach ($parts as $i => $val) { 
    $seconds += $val * pow(60, 2 - $i); 
} 

echo $seconds; 
1

उपयोग php में सेकंड का समय परिवर्तित करने के लिए निम्नलिखित कार्यक्रम है।

<?php 
function time_to_sec($time) { 
    $hours = substr($time, 0, -6); 
    $minutes = substr($time, -5, 2); 
    $seconds = substr($time, -2); 

    return $hours * 3600 + $minutes * 60 + $seconds; 
} 

$result=time_to_sec('12:25:59'); 
echo $result; 
?> 
1

$ current_time_in_seconds = "01: 21: 44.24"; 21::

list($hours, $minutes, $seconds) = explode(":", $current_time_in_seconds); 

$current_time_in_seconds=$hours*3600+$minutes*60+$seconds; 

से

01 मिल जाएगा 44,24

को

4904,24

+0

अब, मैं इसके बारे में क्यों नहीं सोचा था ...? :-) –

+0

इसका आनंद लें यह आसान है। –

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