我有Json数组看起来像这样,它的工作正常,但我需要像DateWise一样安排它们
[
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 对其进行分组,并且工作正常,但问题是我只想要日期部分,例如2016年12月28日
以下代码用于分组
var groupedData = _.groupBy(datas, function(d){
return d.startedAt});}
答案 0 :(得分:2)
在任何现代浏览器上,您都可以使用返回值toISOString
的前10个字符:
var groupedData = _.groupBy(datas, function(d){
return d.startedAt.toISOString().substring(0, 10);
});
前十个字符是年份,然后是月份,然后是日期,零填充,例如2017-01-17
。
请注意,这会按天数分组,而不是当地时间。
另请注意,toISOString
是在2009年作为ES5的一部分添加的。
如果您需要支持没有它的过时浏览器,或者您需要使用本地时间,只需使用getFullYear
/ {从您需要的日期部分构建一个字符串,根据需要填充{1}} / getMonth
或getDate
/ getUTCYear
/ getUTCMonth
根据需要。