我想比較這兩個日期以獲得時間(天數,小時,分鐘和秒)的區別在TWIG得到兩個日期
{% set todayDate = ("now"| date("Y-m-d H:i:s")) %} //2013-04-17 08:45:28
{% set endDate = (enddate|date('Y-m-d H:i:s')) %} //2013-04-18 23:59:59
如何獲得時間差?
我想比較這兩個日期以獲得時間(天數,小時,分鐘和秒)的區別在TWIG得到兩個日期
{% set todayDate = ("now"| date("Y-m-d H:i:s")) %} //2013-04-17 08:45:28
{% set endDate = (enddate|date('Y-m-d H:i:s')) %} //2013-04-18 23:59:59
如何獲得時間差?
最後我得到它.. 比較兩個日期以獲得時間(天數,小時和分鐘) 在控制器:
(教義查詢)
TIMESTAMPDIFF(DAY,CURRENT_TIMESTAMP(), a.enddate) AS endday,
(TIMESTAMPDIFF(HOUR,CURRENT_TIMESTAMP(), a.enddate) - TIMESTAMPDIFF(DAY,CURRENT_TIMESTAMP(),a.enddate)*24) AS endhour,
(TIMESTAMPDIFF(MINUTE,CURRENT_TIMESTAMP(), a.enddate) - TIMESTAMPDIFF(HOUR,CURRENT_TIMESTAMP(), a.enddate)*60) AS endmin,
創建一個函數TIMESTAMPDIFF https://github.com/beberlei/DoctrineExtensions/blob/master/lib/DoctrineExtensions/Query/Mysql/TimestampDiff.php
,幷包括一個片段
APP-> config-> config.yml 學說: DBAL: ........
orm:
entity_managers:
default:
auto_mapping: true
dql:
datetime_functions:
timestampdiff: Acme\BUNDLE\FOLDER\TimestampDiff
感謝所有..
由於您將enddate傳遞給模板,因此應該在控制器中執行此操作並將結果傳遞給模板。
這裏是PHP代碼,你可以使用:
$now = new DateTime('now');
$dateToCompare = new DateTime('your date');
$difference = $now->format('U') - $dateToCompare->format('U');
// or if your date to compare is in the future :
// $difference = $dateToCompare->format('U') - $now->format('U');
$time_diff = gmdate('H',$difference);
echo $time_diff;
邏輯應該放在您的模板之外。比較PHP中的日期並將差異分配給您傳遞給模板的變量。 – vascowhite
如果你在樹枝模板中使用'set',你可以很確定,你應該在你的控制器中而不是在模板中做到這一點。 –
[Twig date difference]的可能重複(http://stackoverflow.com/questions/15657687/twig-date-difference) – Maks3w