Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用百分比在PHP中获取时间值_Php - Fatal编程技术网

如何使用百分比在PHP中获取时间值

如何使用百分比在PHP中获取时间值,php,Php,我想通过给它一个百分比值来得到剩余时间 开始时间:上午10:07:03 结束时间:下午5:00:00 剩余时间:6:52:57 10%的时间:0:41:18 19%的时间:1:18:28 25%的时间:1:43:14 44%的时间:3:01:42 93%的时间:6:24:03这可能是一个很好的起点: <?php $starttime = "10:07:03 AM"; $endtime = "5:00:00 PM"; $starttime_ts = strtotime($starttime

我想通过给它一个百分比值来得到剩余时间

开始时间:上午10:07:03

结束时间:下午5:00:00

剩余时间:6:52:57

10%的时间:0:41:18

19%的时间:1:18:28

25%的时间:1:43:14

44%的时间:3:01:42


93%的时间:6:24:03这可能是一个很好的起点:

<?php
$starttime = "10:07:03 AM";
$endtime = "5:00:00 PM";

$starttime_ts = strtotime($starttime);
$endtime_ts = strtotime($endtime);

echo "Start time: " . $starttime . " (Timestamp: " . $starttime_ts . ")";
echo "<br>";
echo "End time: " . $endtime . " (Timestamp: " . $endtime_ts . ")";


$v10percent = ($starttime_ts + ($endtime_ts - $starttime_ts) * 10 / 100);
$v90percent = ($starttime_ts + ($endtime_ts - $starttime_ts) * 90 / 100);
$v100percent = ($starttime_ts + ($endtime_ts - $starttime_ts) * 100 / 100);


echo "<br>";
echo "<br>";
echo "10% of time: " . date("h:i:s A", $v10percent);
echo "<br>";
echo "...";
echo "<br>";
echo "90% of time: " . date("h:i:s A", $v90percent);
echo "<br>";
echo "100% of time: " . date("h:i:s A", $v100percent);
?>

您应该使用时间戳而不是日期格式,以下代码将对您有所帮助

$startString = '10:07:03 AM';
$endString = '5:00:00 PM';
// convert to timistamp
$start = strtotime($startString);
$end = strtotime($endString);

$duration = $end-$start;

echo date('H:i:s',$duration);
// print 19% of duration
echo '<br />19% of duartion is: '. date('H:i:s',$duration*19/100);
$startString='10:07:03 AM';
$endString='5:00:00 PM';
//兑换邮票
$start=strottime($startString);
$end=strottime($endString);
$duration=$end-$start;
回显日期('H:i:s',$duration);
//打印持续时间的19%
回音“
19%的双音是:”。日期('H:i:s',$duration*19/100);
您尝试了什么?您好,欢迎来到Stack Overflow,请提供您为执行此计算而编写的代码,您可以将
结束时间-开始时间
解析为整数(这是100%)然后你得到一个分数,再将这个
点-开始时间
再次转换为整数,然后检查整个总和的百分比是多少?你的答案是好的(非常好),我会投票给你,但请不要回答这样的问题:)
$startString = '10:07:03 AM';
$endString = '5:00:00 PM';
// convert to timistamp
$start = strtotime($startString);
$end = strtotime($endString);

$duration = $end-$start;

echo date('H:i:s',$duration);
// print 19% of duration
echo '<br />19% of duartion is: '. date('H:i:s',$duration*19/100);