ホームページ > バックエンド開発 > PHPチュートリアル > 時間を保持するフィールドにデータを保存する方法

時間を保持するフィールドにデータを保存する方法

WBOY
リリース: 2016-06-13 11:59:51
オリジナル
927 人が閲覧しました

時間を保存するフィールドにデータを保存する方法
時間を保存する必要があるフィールドがあり、このフィールド内のすべての値を合計して正しい時間に変換する必要があります。たとえば、

1、5 分 45 秒は 5.45
2 として保存され、120 分 1 秒は 120.01
3 として保存され、89 分 19 秒は 89.19
=====

合計は 5.45 120.01 89.19=214.65 ですが、元の値とは異なります

この問題を解決する良い方法はありますか?たとえば、ユーザーが入力した時間の数値はすべて秒に変換され、データベースに保存されるため、より信頼性が高く、秒を直接追加することができます。あなたも間違ってはいけません。

しかし、ユーザーが入力した値を秒に変換する方法

------解決策-- -- -

<br />        $input = 1234.5678;<br />        strtok((string)$input,'.');<br />        $s = strtok((string)$input,'.') * 60 + strtok('.');<br />        echo $s.'秒'; <br />
ログイン後にコピー

-----解決策---------
<br />$t = array('3H45.26','1H5.10','30.59');<br /><br />echo sumT($t); // 5H21.35<br /><br />function sumT($t){<br />	$sum = 0;<br />	if($t){<br />		foreach($t as $v){<br />			$sum += getSecond($v);<br />		}<br />	}<br />	return tostr($sum);<br />}<br /><br /><br />function getSecond($str){<br />	if(strstr($str,'H')==''){<br />		$str = '0H'.$str;<br />	}<br />	$str = str_replace('H','.',$str);<br />	list($h, $m, $s) = explode('.', $str);<br /><br />	return $h*3600+$m*60+$s;<br />}<br /><br />function tostr($t){<br />	$h = (int)($t/3600);<br />	$m = (int)($t%3600/60);<br />	$s = $t%3600%60;<br /><br />	$h = $h>0? $h.'H' : '';<br /><br />	return $h.$m.'.'.$s;<br />}<br />
ログイン後にコピー

-----解決策--------------------------ユーザーは次のことを行う必要があります。費やす時間 3 時間 45 分 26 秒 書き込み 034526 多すぎませんか?あなたのものよりも単純です
つまり、
13526
echo strtotime('034526') - strtotime(date('Y-m-d')), 
ログイン後にコピー

があります
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート