2017-01-17 73 views
1

我有JSON數組看起來像這樣和它工作正常,但我需要安排他們gruopwise像DateWise從JavaScript中的DateTime對象中僅提取日期?

[ 
name: 'Ali', 
startedAt: Wed Dec 28 2016 15:32:07 GMT+0500 (Pakistan Standard Time), 
userId: '0002' }, 

{ completedAt: Wed Dec 28 2016 12:51:47 GMT+0500 (Pakistan Standard Time), 
name: 'Aliy', 
startedAt: Wed Dec 28 2016 12:43:19 GMT+0500 (Pakistan Standard Time), 
userId: '212' }, 
{ 
name: 'Aliy', 
startedAt: Wed Dec 28 2016 12:43:06 GMT+0500 (Pakistan Standard Time), 
userId: '2121' }] 

我有startedAt的基礎上,它們分組,其工作正常,但一碼問題是,我想只有像28/12/2016

日期部分下面的代碼被用於分組

var groupedData = _.groupBy(datas, function(d){ 
    return d.startedAt});} 
+0

我建議你使用https://momentjs.com – Ergec

+0

請注意,你的代碼在最後有一個語法錯誤(額外'}')。這是一個很好的廣告,爲什麼把關閉'}'放在與塊的最後一個語句相同的行上是一個尷尬和容易出錯的支撐樣式。 –

回答

2

在任何現代的瀏覽器,你可以使用第10℃的toISOString返回值的haracters:

var groupedData = _.groupBy(datas, function(d){ 
    return d.startedAt.toISOString().substring(0, 10); 
}); 

的前十個字符是一年,然後一個月,然後約會,零填充,例如2017-01-17

請注意,這將按照UTC的當天進行分組,而不是當地時間。

另請注意,toISOString於2009年作爲ES5的一部分加入。

如果您需要支持沒有它,或者你需要使用本地時間,剛剛從建立你所需要的日期,因爲需要填充的部位字符串過時的瀏覽器,使用getFullYear/getMonth/getDate或根據需要使用getUTCYear/getUTCMonth/getUTCDate

+0

感謝它的工作,但可以請指導我通過該如何能夠顯示它在我的意見,例如使用馬可作爲視圖模板的iam。你能告訴我如何顯示它DateWise – DEO

+0

@DEO:你最好的選擇就是放棄它,如果你碰到一個特定的問題,就試圖發佈有關這個問題的問題,以及它有什麼問題。 –

相關問題