0

我想知道是否有人可以帮助我解决这个问题。

我在数据库中有两个字段,它们使用以下方式显示:

1-<?php echo JHTML::_('date', $row->created_date, 'd/m/Y'); ?>

2-<?php echo $row->delivery_date; ?>

第一个是作为带有时间的完整日期写入数据库的,正如您在上面看到的,我剥离输出以仅显示日期。在数据库中,它将显示为“2013-09-10 11:56:52”

第二个来自文本输入表单字段,该字段仅以 d/m/Y 格式将文本保存到数据库中。在数据库中,这显示为“19/09/2013”

有没有一种方法可以生成一个 if 语句,如果此条件为真,它将在第二行周围添加一个 span 和 class 标记:

“如果 $row->delivery_date 在 $row->created_date 之后(包括)之后的 21 天内。”

如果我将它们都设为完整日期值,最终会是最好的吗?这会让计算他们相隔多少天变得更容易吗?

4

1 回答 1

1
  1. Convert Dates to a common format using strtotime() (e.g. PHP works nicely with unix timestamp's):

    $created_date = strtotime($row->created_date); // These are basically seconds $deliver_date = strtotime($row->delivery_date);

  2. Calculate the difference between the two and covert it to days (each day is 86400 seconds):

    $days = ceil(abs($deliver_date - $created_date) / 86400);

  3. Check $days in your if() statement for echoing your span.

Something like:

if($days <= 21)
{
    echo '<span class="delivery_warning">' . $row->delivery_date . '</span>';
}
else
{
    else { echo $row->delivery_date; };
}
于 2013-09-12T00:58:56.583 回答