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

時間を節約してフィールドにデータを保存する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:55:34
オリジナル
955 人が閲覧しました

時間を保存する必要があるフィールドがあり、このフィールドのすべての値を追加して、正しい時間に変換する必要があります。たとえば、

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

=====

合計は次のようになります5.45+120.01+89.19=2 14.65 しかし、元の値とは異なります

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

しかし、ユーザーが入力した値を秒に変換するにはどうすればよいでしょうか?


ディスカッションに返信 (解決策)

        $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~ と入力する必要があるという意味ですか?実装できるかどうか確認してください

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 があります

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