2012-08-02 30 views
9
  1. Làm cách nào để so sánh hai ngày trong Twig khi lần đầu tiên đến từ cơ sở dữ liệu và thứ hai là rõ ràng - 2012-12-31? Tôi đã thử vớiSo sánh ngày với một cụ thể và DateTime để chuỗi trong Twig

    {% if dom.dueDate|date('Y-m-d') > 2012-12-31 %} 
    

    nhưng tôi không nhận được kết quả mong muốn. :(

  2. Tôi có một trường DateTime nhưng tôi không thể tìm thấy một bộ lọc cho DateTime trong cành và khi tôi sử dụng |date('Y-m-d') nó in chỉ ngày mà không có giờ :(

Tôi sẽ thực sự timestamps

Trả lời

18

Hãy thử hạnh phúc và biết ơn nếu ai đó giúp tôi giải quyết vấn đề để so sánh :

{% if dom.dueDate|date('U') > '2012-12-31'|date('U') %} 

và điều này để thêm giờ, phút và giây

{{ dom.dueDate|date('Y-m-d H:i:s') }} 
+0

Ooh cảm ơn bạn rất nhiều! Bạn không thể tưởng tượng tôi biết ơn đến mức nào. Tôi đã tìm kiếm cả hai nhưng không tìm được gì cả. Bây giờ tất cả mọi thứ hoạt động corectly! Một lần nữa, cảm ơn bạn rất nhiều! – Faery

+0

Chúc mừng năm mới ấn bản '{% if 'now' | date ('U')> '2013-12-20' | date ('U') và 'now' | date ('U') <'2014-01 -09 '| ngày (' U ')%} ':-) –

+0

Hãy xem múi giờ của bạn khi bạn sử dụng tham số" U ". Bởi vì nó đề cập đến dấu thời gian unix tại UTC. Thành phố của bạn có thể ở múi giờ UTC khác nhau. UTC + 2 hoặc UTC-1 vv ... –

2

Tính đến cành lá 1.6 +, cách chính xác so sánh ngày according to the official docs đang sử dụng date chức năng:

{% if dom.dueDate > date('2012-12-31') %} 
+0

Điều này phải được đánh dấu là câu trả lời đúng. –

Các vấn đề liên quan