iT邦幫忙

0

TWIG 用日期做 比較問題

  • 分享至 

  • xImage

想做到能用年月日做filter

i =[ 2021,2022,2023,2024]

如果只用年份做比較是可行

{% if i > "now"|date("Y") %} #}
	show result
{% endif %}

這個是只FILTER了月份,但沒有跟年份綁在一齊FILTER

{% if i > "now"|date("Y") and 9 > "now"|date("m") %} #}
	show result
{% endif %}

這個不行運作。

{% if i + "-09-01" > "now"|date("Y-m-d") %} #}
	show result
{% endif %}
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0

再做字串比較時,有時要非常小心一件事。
由其是字串式的數字。

如正常

10 > 1

但在字串中,可能會發生如下的情況

"1" > "10"

也就是說,當字元在同一個位數的情況下。比對起來不會有問題。
但當不同位數的情況下。則會發生少位數會大於多位數的情況

我這邊只是一個建議。畢竟看你型態宣告幾乎都沒處理。
確時有可能會發生這樣的事

nick12345 iT邦新手 4 級 ‧ 2022-10-25 09:43:15 檢舉

哪到底如何做日期的比較???

nick12345 iT邦新手 4 級 ‧ 2022-10-25 10:12:53 檢舉

我在PHP 做到,但TWIG做不到

$today = date('Y-m-d') ;
$thisday = date('Y') . '-09-01';
if(strtotime($today)>=strtotime($thisday)){
	// result 1
} else{
	// result 2
}

我要發表回答

立即登入回答