Silverstripe 如何在模板中比较日期和当前日期?

Silverstripe 如何在模板中比较日期和当前日期?,silverstripe,Silverstripe,在Silverstripe模板中,我需要将变量$date_ok与当前日期进行如下比较:if($date_ok

在Silverstripe模板中,我需要将变量$date_ok与当前日期进行如下比较:if($date_ok

$num
$sert\u otip
有效期从$date\u开始到 $date_ok .............. .......

我必须写什么来代替******?

您可以向DataObject添加一个方法,而不是尝试在模板中执行复杂的逻辑。这是假设
date\u ok
是在
$db
数组中定义的日期字段

class IzdMat extends DataObject {

  public function IsDateOk() {
    $today = date("Y-m-d");
    return (strtotime($today) < strtotime($this->date_ok));
  }
}
类IzdMat扩展了数据对象{
公共函数IsDateOk(){
$today=日期(“Y-m-d”);
返回(strotime($today)date_ok));
}
}
然后在你的模板中

<% loop $IzdMat %>
  <tr>
      <td>$num</td>
      <td>$sert_otip </strong> <br>Valid from $date_start  till  
$date_ok</td> 
      <% if $IsDateOk  %>
         ..............
      <% end_if %> 
  </tr>
<% end_loop %>

$num
$sert\u otip
有效期从$date\u开始到 $date_ok ..............
<% loop $IzdMat %>
  <tr>
      <td>$num</td>
      <td>$sert_otip </strong> <br>Valid from $date_start  till  
$date_ok</td> 
      <% if $IsDateOk  %>
         ..............
      <% end_if %> 
  </tr>
<% end_loop %>