2016-05-13 9 views
2
<#setting date_format="dd/MM/yyyy"> 
<#assign data1 = "14/05/2016" /> 
<#assign data2 = "20/05/2016" /> 
<#assign data3 = "19/06/2016" /> 
<#assign events_list = [ 
    {"name":"Event Lorem", "date":data1?date}, 
    {"name":"Event Lipsum", "date":data2?date}, 
    {"name":"Event Free", "date":data2?date}, 
    {"name":"Event Dolor", "date":data3?date}, 
    {"name":"Event Sit", "date":data1?date} 
] /> 

私は、このイベントのリストを持っていると私は、日付によってそれらをソート:Freemarkerでオブジェクトのリストを日付別にグループ化するにはどうすればいいですか?

<h5>Order by date:</h5> 
<#list events_list?sort_by("date") as event> 
    <p>${event.name}: ${event.date}</p> 
</#list> 

enter image description here

をそれぞれが時間を持つことができますので、今、私は日によってグループ彼らにしたいです。この例では
のように:私はFreemarkerの中でこれを実現するにはどうすればよい

enter image description here

?日付別

+0

答えを見つけましたか? –

答えて

1
<#setting date_format="dd/MM/yyyy"> 
<#assign dataNull = "01/01/1900" /> 
<#assign data1 = "14/05/2016" /> 
<#assign data2 = "20/05/2016" /> 
<#assign data3 = "19/06/2016" /> 
<#assign events_list = [ 
    {"name":"Event Lorem", "date":data1?date}, 
    {"name":"Event Lipsum", "date":data2?date}, 
    {"name":"Event Free", "date":data2?date}, 
    {"name":"Event Dolor", "date":data3?date}, 
    {"name":"Event Sit", "date":data1?date} 
] /> 




<h5>Order by date:</h5> 
<#assign lastDate = dataNull?date> 
<#list events_list?sort_by("date") as event> 

    <#if lastDate != event.date > 
     <p><b> ${event.date}</b></p> 
    </#if> 

    <#assign lastDate = event.date > 
    <p>${event.name}: ${event.date}</p> 

</#list> 

注文:

14/05/2016

イベントLoremの:14/05/2016 14/05/2016

イベントシット:14/05/2016 14/05/2016

20/05/2016

イベントLipsum:20/05/2016 20/05/2016

イベントフリー:20/05/2016 20/05/2016

19/06/2016

イベント悲しみ: 19/06/2016 19/06/2016

+0

月単位でグループ化する方法があるかどうか知っていますか? –

+0

これについて考えてみましょう。月と年を含むように日付形式を変更して、月と年が同じかどうかを比較し、そうでない場合は別のデータグループと見なすことができます。 –

関連する問題