【发布时间】:2015-01-05 04:34:15
【问题描述】:
我正在开发一个计算项目完成百分比的 PHP 页面。例如,如果您的开始日期为 2015 年 1 月 1 日,结束日期为 2015 年 3 月 3 日,而今天是 2015 年 2 月 2 日,则估计该项目大约完成了 50%。到目前为止,我已经尝试使用 DateTime 类和 date_diff 函数,但我无法将两者分开,所以我回到了第一格。显然,我需要将夏令时和闰年考虑在内,这样就增加了一层额外的复杂性。有任何想法吗?这里是当前块。
try {
$dbh = new PDO('mysql:host=localhost; dbname=jkaufman_hartmanbaldwin', $username, $password, array(
PDO::MYSQL_ATTR_SSL_KEY => '../php_include/codekaufman_com.key',
PDO::MYSQL_ATTR_SSL_CERT => '../php_include/codekaufman_com.crt',
PDO::MYSQL_ATTR_SSL_CA => '../php_include/codekaufman_com.ca_bundle'
));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$projectName = $_GET['project'];
$sth = $dbh->prepare('SELECT start, end FROM projects WHERE name = ?');
$sth->execute([$projectName]);
if($sth->rowCount()) {
$row = $sth->fetchAll(PDO::FETCH_ASSOC);
date_default_timezone_set('America/Los_Angeles');
$date = strtotime($row[0]['start']);
$start = date('m/d/Y', $date);
echo $start;
$date = strtotime($row[0]['end']);
$end = date('m/d/Y', $date);
echo " " . $end;
$today = date('m/d/y');
echo $end - $start;
}
} catch(PDOException $e) {
echo $e->getMessage();
}
【问题讨论】: