Heim > Backend-Entwicklung > PHP-Tutorial > 一个保存时间的字段怎么存储数据

一个保存时间的字段怎么存储数据

WBOY
Freigeben: 2016-06-23 13:55:34
Original
931 Leute haben es durchsucht

有一个字段需要存储时间,并且需要把这个字段所有的值相加,然后换算成正确的时间。比如

1,5分钟45秒  存储为 5.45
2,120分钟01秒 存储为120.01
3,89分钟19秒  存储为89.19

=====

合计起来就是 5.45+120.01+89.19=214.65 但是和本来的数值不一样的

有没有什么好办法来解决这个问题呢,我觉得不能存储成这样,比如把用户输入的时间数全部转换成秒数存储到数据库,这样靠谱点,直接秒数相加就可以了。也不会出错。

但是怎么样把用户输入的数值转换成秒数呢


回复讨论(解决方案)

        $input = 1234.5678;        strtok((string)$input,'.');        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
Nach dem Login kopieren

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
Nach dem Login kopieren
Nach dem Login kopieren

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
Nach dem Login kopieren
Nach dem Login kopieren



恩,明白了,那有时候如果时间有小时怎么办呢,比如现在是3H45.26,即3小时45分钟26秒
但是有时候有的就只是有分钟,没有小时,这种情况怎么办,不能让用户自己把小时转换成分钟吧,难道3小时45分钟要用户输入205.26这样吗~

我就是不知道怎么做,也没思路

楼主研究下strtotime()这个函数看能不能实现

5.45+120.01+89.19=214.65
60?制,用10?制加,?然不?。

建?先全部?成秒?,再相加。

$t = array('3H45.26','1H5.10','30.59');echo sumT($t); // 5H21.35function sumT($t){	$sum = 0;	if($t){		foreach($t as $v){			$sum += getSecond($v);		}	}	return tostr($sum);}function getSecond($str){	if(strstr($str,'H')==''){		$str = '0H'.$str;	}	$str = str_replace('H','.',$str);	list($h, $m, $s) = explode('.', $str);	return $h*3600+$m*60+$s;}function tostr($t){	$h = (int)($t/3600);	$m = (int)($t%3600/60);	$s = $t%3600%60;	$h = $h>0? $h.'H' : '';	return $h.$m.'.'.$s;}
Nach dem Login kopieren

要求用户将 3小时45分钟26秒 写作 034526 这不过分吧?比你的还简单
于是有

echo strtotime('034526') - strtotime(date('Y-m-d')), 
Nach dem Login kopieren
13526

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage