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

php中文网
发布: 2016-06-23 13:55:34
原创
1108人浏览过

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

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

=====

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

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

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

存了个图
存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

存了个图 17
查看详情 存了个图

回复讨论(解决方案)

        $input = 1234.5678;        strtok((string)$input,'.');        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
登录后复制

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
登录后复制

        $input = 1234.5678;        $s = strtok((string)$input,'.') * 60 + strtok('.');        echo $s.'秒'; 
登录后复制



恩,明白了,那有时候如果时间有小时怎么办呢,比如现在是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;}
登录后复制

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

echo strtotime('034526') - strtotime(date('Y-m-d')), 
登录后复制
13526

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号