Home > Backend Development > PHP Tutorial > 一个保存时间的字段怎么存储数据

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

WBOY
Release: 2016-06-23 13:55:34
Original
937 people have browsed it

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

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.'秒'; 
Copy after login

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
Copy after login
Copy after login

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
Copy after login
Copy after login



恩,明白了,那有时候如果时间有小时怎么办呢,比如现在是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;}
Copy after login

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

echo strtotime('034526') - strtotime(date('Y-m-d')), 
Copy after login
13526

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template