2017-01-17 47 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:你最好的选择就是放弃它,如果你碰到一个特定的问题,就试图发布有关这个问题的问题,以及它有什么问题。 –

相关问题