2017-01-17 2 views
1

j'ai Json tableau qui ressemble à ceci et son travail bien, mais je dois les arranger gruopwise comme DateWiseExtraire uniquement la date de l'objet DateTime dans Javascript?

[ 
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' }] 

j'ai un code qui les groupes sur la base de startedAt et son travail bien, mais la problème est que je veux seulement une partie date comme 28/12/2016

le code ci-dessous est utilisé pour le regroupement

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

Je vous suggère d'utiliser https://momentjs.com – Ergec

+0

Notez que votre code à la fin a une erreur de syntaxe (extra '}'). Ce qui est une excellente publicité pour pourquoi placer la fermeture '}' sur la même ligne que la dernière déclaration d'un bloc est un style contreventement maladroit et sujet aux erreurs. –

Répondre

2

Sur un navigateur moderne, vous pouvez utiliser les 10 premiers c haracters de la valeur de retour de toISOString:

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

Les dix premiers caractères sont l'année, puis le mois, puis la date, complété par des zéros, par exemple 2017-01-17.

Notez que cela les regroupera par jour en UTC, pas l'heure locale.

Notez également que toISOString a été ajouté en 2009 dans le cadre de ES5.

Si vous avez besoin pour soutenir les navigateurs obsolètes qui ne l'ont pas, ou si vous devez utiliser l'heure locale, juste construire une chaîne à partir des parties de la date dont vous avez besoin, rembourrage nécessaire, en utilisant getFullYear/getMonth/ou getDategetUTCYear/getUTCMonth/getUTCDate selon les besoins.

+0

merci cela fonctionne mais pouvez-vous s'il vous plaît me guider à travers ce que je vais pouvoir le montrer dans mes vues, par exemple iam en utilisant Marko comme modèle de vue. Pouvez-vous me dire comment je peux le montrer? DateWise – DEO

+0

@DEO: Votre meilleur pari est de faire un essai, et si vous rencontrez un problème spécifique, postez une question sur ce problème avec votre tentative et ce qui ne va pas. –