Home > database >  Need help slicing date value
Need help slicing date value

Time:05-20

result_database = [
  { id: 1, name: 'Tom Riddle', date: "2022-05-16T22:00:00.000Z"},
  { id: 2, name: 'Hank Some', date: "2022-05-19T22:00:00.000Z"},
  { id: 3, name: 'Family Man', date: "2022-05-17T22:00:00.000Z"}
]

    var holiday_date = new Date().toJSON().slice(0,10);
    let holiday_date_remove = result_database.filter(item1 => !result_database.find(item2 => item1.name == item2.name && item2.date.slice(0,10) == holiday_date))
    const holiday_result = [...new Map(holiday_date_remove.map(item => [JSON.stringify(item.name), item])).values()]
    console.log(holiday_result)

I'm trying to .slice(0,10) the date. I get it displayed like this "2022-05-16T22:00:00.000Z" But I need it as "2022-05-16", so I try to date.slice(0, 10) it's not working though.

CodePudding user response:

You can first map over result_database using Array.prototype.map and update the date property and then filter the array based on holiday_date using Array.prototype.filter.

const 
  result_database = [
    { id: 1, name: "Tom Riddle", date: "2022-05-16T22:00:00.000Z" },
    { id: 2, name: "Hank Some", date: "2022-05-19T22:00:00.000Z" },
    { id: 3, name: "Family Man", date: "2022-05-17T22:00:00.000Z" },
  ],
  holiday_date = new Date().toJSON().slice(0, 10),
  holiday_date_remove = result_database
    .map((item) => ({ ...item, date: item.date.slice(0, 10) }))
    .filter(({ date }) => date !== holiday_date);

console.log(holiday_date_remove);

CodePudding user response:

const dataDate = '2022-05-17T22:00:00.000Z' 

const date = new Date(dataDate)

date.getDate()    "-"   (date.getMonth() 1)   "-"   date.getFullYear()

console.log(date)

For more information regarding date formats read here

  • Related