2
votes

Comment imprimer uniquement le jour au lieu de la date complète?

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


5 commentaires

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ées


Copie 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


8 Réponses :


1
votes

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())


1 commentaires

hé pouvez-vous s'il vous plaît m'aider sur ce post stackoverflow.com/questions/55919420/...



0
votes

Essayez d'ajouter ceci:

new Date("2018-09-03").getDate();


0 commentaires

2
votes

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());


1 commentaires

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



3
votes
console.log(date.slice(-2));

0 commentaires

0
votes

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


0 commentaires

0
votes

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' ] ]
*/


0 commentaires

0
votes

Essayez ce code

var weekday = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var d = new Date('08/11/2015');
alert(weekday[d.getDay()]);


0 commentaires

0
votes

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');


0 commentaires