2013-05-22 33 views
0

我有2個變量被設置是這樣的:Symfony的日期變量if語句

 <?php $current = strftime('%m/%d/%g %H:%M:%S')?> 
     <?php $target = strftime('%m/%d/%g %H:%M:%S', strtotime($item->getendtime()))?> 

然後,我有一個if語句是這樣的:

 <?php if ($current < $target): ?> 
     Do this 
     <?php else: ?> 
     Do that 
     <?php endif; ?> 

,直到我們在新的一年,它工作正常。例如,我有幾件物品在2012年有一個「endtime」。如果if語句按照它應該的那樣工作,它應該「做那件事」,而不是它「做這個」

+0

如果您在使用本主義與PHP> = 5.3,你可以比較日期是這樣的:'新的DateTime()< $item-> getDateTimeObject( 'END_TIME')' – 1ed

回答

2

使用下面的替代與UNIX時間戳):

$current = time(); 
$target = strtotime($item->getendtime()); 
+0

如果我嘗試不使用「的strftime 「那麼$ current字符串會返回一個大整數。 $ item-> getendtime()作爲日期存儲在數據庫中,而不是整數。 – djcloud23

+0

這就是爲什麼您使用'strtotime'函數將數據庫中的日期更改爲這個大整數(UNIX時間戳)的原因。 –

+0

工作很好。這次真是萬分感謝。 – djcloud23