1

I want to get current weekdays

Let's say Today is 29 Wednesday (29 day and Wednesday Week)

How do I get this

*26 Sunday

*27 Monday

*28 Tuesday

*29 Wednesday

30 Thursday

31 Friday

1 Saturday

Eclipsu
  • 11
  • 3

2 Answers2

3

const name = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
const now = Date.now();
const DAY = 60 * 60 * 24 * 1000;
const today = new Date(now).getDay();

for (let i = today; i >= 0; i--) {
  const date = new Date(now - DAY * i);
  console.log("*",name[date.getDay()], date.getDate());
}
for (let i = 1; i < 7 - today; i++) {
  const date = new Date(now + DAY * i);
  console.log(name[date.getDay()], date.getDate());
}
kyun
  • 9,710
  • 9
  • 31
  • 66
2

The function you're looking for on a Date object is getDay(). It returns a number between 0 and 6 (where 0 is Sunday). You could create an array of day names and use the getDay function to fetch the name from it. E.g.

const dayNames = [
    'Sunday',
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursdsay',
    'Friday',
    'Saturday',
];

// get todays date
const today = new Date();
return dayNames(today.getDay()); 

You can read more about the getDay function on the MDN web docs here and the Date object here.

Similarly getDate() returns the date of the Date object.

Taintedmedialtd
  • 856
  • 5
  • 13