saniye sayısı için zaman dönüştürmek için işlev

7 Cevap php

Bizim sitede, biz saniyeye dönüştürmek istiyorum yüzme kez bir sürü var. yani 1:23:33.03 veya 58:22.43. Bunu bir PHP işlevi var mı? Bir MySQL fonksiyonu?

7 Cevap

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
function time2seconds($time='00:00:00')
{
    list($hours, $mins, $secs) = explode(':', $time);
    return ($hours * 3600 ) + ($mins * 60 ) + $secs;
}

Dan here.

MySQL de vardır TIME_TO_SEC()

Php saniye zaman dönüştürmek için aşağıdaki programı kullanın.

<?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;
?>

$ Current_time_in_seconds = "01:21:44.24";

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

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

alacak

01:21:44.24

karşı

4.904,24

böylece fraksiyonların değil, uygun bir çözüm olmadan mysql - eğer burada başka benimdir

$time = '1:23:33.03';

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

$seconds = 0;

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

echo $seconds;

Strtotime ne ihtiyaç vardır. Bu durumda saniye sayı olacak bir Unix zaman damgası olsun.

Ben biraz karıştı ama ne demek olduğunu düşünüyorum. 1 saat, 23 minuts ve 23.03 saniye.

Bu yapmak zor değil. Bunu yapan bu PHP işlevini yaptı. Benim php sunucu başlatmak istemiyor, o yüzden deneyemedim, ama çalışması gerektiğini düşünüyorum.

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");