J'ai une date complète dans mon tableau JSON, mais pour mes besoins, je ne veux que la date, pas le mois et l'année, comme si la date complète est 2018-12-01 je veux seulement 01 .
Comme c'est l'exigence pour moi et je n'ai aucune idée de comment puis-je concaténer ceci
const raw = [
[
"JAYANAGAR",
"2018-09-01",
"476426"
],
[
"MALLESHWARAM",
"2018-09-01",
"92141"
],
[
"KOLAR",
"2018-09-01",
"115313"
],
[
"JAYANAGAR",
"2018-09-02",
"511153"
],
[
"MALLESHWARAM",
"2018-09-02",
"115704"
],
[
"KOLAR",
"2018-09-02",
"83597"
],
[
"JAYANAGAR",
"2018-09-03",
"167421"
],
[
"KOLAR",
"2018-09-03",
"53775"
]
]
let types = new Set();
const rawObj = raw.reduce((memo, [type, date, value]) => {
date = date.split('-').reverse().join('-');
memo[date] = memo[date] || {};
memo[date][type] = parseInt(value);
types.add(type);
return memo;
}, {});
types = [...types];
const data = Object.entries(rawObj).reduce((memo, [date, value]) => {
memo.push([date, ...types.map(type => value[type] || 0)]);
return memo;
}, [
['Billdate', ...types.map(type => `${type[0]}${type.substr(1).toLowerCase()}`)]
]);
console.log(data)
ici, dans mon code, je formate mes données JSON car j'ai besoin maintenant, je veux seulement avoir la date et non le mois et l'année.
Tout le monde ici peut me guider ou me suggérer comment puis-je y parvenir
8 Réponses :
Vous pouvez changer la chaîne de date en objet Date et utiliser la fonction getDate pour obtenir la partie date
var d = new Date('2018-09-03');
console.log(d.getDate())
hé pouvez-vous s'il vous plaît m'aider sur ce post stackoverflow.com/questions/55919420/...
Essayez d'ajouter ceci:
new Date("2018-09-03").getDate();
Vous pouvez d'abord convertir la chaîne de date de la tournée en Objet Date , puis utiliser getDate () pour obtenir la date. Cela garantirait la prise en charge de divers formats date-heure.
const raw = [
[
"JAYANAGAR",
"2018-09-01",
"476426"
],
[
"MALLESHWARAM",
"2018-09-01",
"92141"
],
[
"KOLAR",
"2018-09-01",
"115313"
],
[
"JAYANAGAR",
"2018-09-02",
"511153"
],
[
"MALLESHWARAM",
"2018-09-02",
"115704"
],
[
"KOLAR",
"2018-09-02",
"83597"
],
[
"JAYANAGAR",
"2018-09-03",
"167421"
],
[
"KOLAR",
"2018-09-03",
"53775"
]
]
var dateList = raw.map(data => {
return new Date(data[1]).getDate();
})
console.log(dateList)
Selon les données de votre tableau raw , en supposant que votre date sera toujours à l'index 1, vous pouvez essayer ceci
var date = new Date('2018-09-01')
console.log(date.getDate());
hey pouvez-vous s'il vous plaît m'aider stackoverflow.com/questions/56521258/... Je suis coincé ici depuis longtemps, si vous pouvez m'aider avec une approche, ce sera très utile
console.log(date.slice(-2));
Vous pouvez accomplir cela grâce à un peu de magie regex:
var regex = /^\d{4}-\d\d-(\d\d)$/;
var dates = []
for (let i = 0; i < raw.length; i++) {
var match = regex.exec(raw[i][1]);
dates.push(match[1])
}
L’expression régulière correspond à votre chaîne de jour (4 chiffres "-" 2 chiffres "-" 2 chiffres) et capture la date avant de pousser il à un tableau.
https: //developer.mozilla .org / fr-FR / docs / Web / JavaScript / Guide / Regular_Expressions
Je vais vous dire d'obtenir votre tableau brut sous la forme souhaitée dans la première instruction elle-même comme suit.
Remarque: Ensuite, vous avancez avec votre logique après cela. Créer de nouvelles dates à l'aide de l'instruction
new Date ()n'a pas de sens.
const raw = [
[
"JAYANAGAR",
"2018-09-01",
"476426"
],
[
"MALLESHWARAM",
"2018-09-01",
"92141"
],
[
"KOLAR",
"2018-09-01",
"115313"
],
[
"JAYANAGAR",
"2018-09-02",
"511153"
],
[
"MALLESHWARAM",
"2018-09-02",
"115704"
],
[
"KOLAR",
"2018-09-02",
"83597"
],
[
"JAYANAGAR",
"2018-09-03",
"167421"
],
[
"KOLAR",
"2018-09-03",
"53775"
]
].map((l) => { l[1] = l[1].split('-')[2]; return l})
console.log(raw)
/*
[ [ 'JAYANAGAR', '01', '476426' ],
[ 'MALLESHWARAM', '01', '92141' ],
[ 'KOLAR', '01', '115313' ],
[ 'JAYANAGAR', '02', '511153' ],
[ 'MALLESHWARAM', '02', '115704' ],
[ 'KOLAR', '02', '83597' ],
[ 'JAYANAGAR', '03', '167421' ],
[ 'KOLAR', '03', '53775' ] ]
*/
Essayez ce code
var weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var d = new Date('08/11/2015');
alert(weekday[d.getDay()]);
Vous pouvez utiliser moment.js qui est simple à utiliser:
<script src="https://momentjs.com/downloads/moment.js"/>
var day = moment(new Date('2018-09-03')).format('DD');
avez-vous essayé
new Date (date) .getDay ();Veuillez essayer de poser la question avec un code minimal.
Même
date.slice (-2)obtiendra les données souhaitéesCopie possible de Extraire la date et l'heure de la chaîne à l'aide de Javascript
Copie possible de Obtenir le jour exact à partir de la chaîne de date en Javascript