0

私はyiiでプロジェクトを作成しています。フィールドが--pollId-pollQustion-isActive-publishDateであるPollテーブルがあります

投票の天気公開日が現在の日付より大きくないことを確認したい。私は次のように実装しています-

$CurrrentDate=new CDbExpression('NOW()');
if($record->publishDate < $CurrrentDate))
{
  some code......
}

しかし、それは正しく実行されていません。公開日が現在の日付よりも大きい場合でも、コードは実行されています。では、yiiフレームワークでこの比較を行う方法。私を助けてください

4

1 に答える 1

0

PHPには日付形式がありません。$CurrentDateと$record->publishDateを比較するときは、文字列を比較します。さて、正しく比較するには、Unixのタイムスタンプに変換する必要があります

// here you set right date/time pattern 
// You need to explain CDateTimeParser for your pattern
// just easy use `strtotime` if you have 2012-12-12 12:12:12
$publishTimestamp = strtotime($record->publishDate);
// $publishTimestamp = CDateTimeParser::parse($record->publishDate, 'yyyy-MM-dd hh:mm:ss'); 
// if you need to use Hours and minutes just easy use `time()`
$currentDateTimestamp = time();
// $currentDateTimestamp = strtotime(date('Y-m-d H:i:s'));
// now we can compare
if ($publishTimestamp  < $currentDateTimestamp) {
   // do some 
}
于 2012-12-12T06:45:57.790 に答える