Chris
Chris

Reputation: 107

How to dynamically get the start and end date of the week

I'm using ionic framework.Is there a way to dynamically get the start and end date of the week when user selects a random date.

Upvotes: 0

Views: 2723

Answers (3)

korteee
korteee

Reputation: 2682

Based on this answer I've made a configuration based on your needs. The code is in vanilla js but you can easily translate it to angular code, since functionality is the same.

The function to find the first and last day of the week, based on user selected date:

function getFirstLastDayOfWeek(userDate) {

  let result = {};

  let curr = new Date(userDate); // get current date
  let first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week
  let last = first + 6; // last day is the first day + 6

  result = {
        firstDay:new Date(curr.setDate(first)).toUTCString(),
    lastDay:new Date(curr.setDate(last)).toUTCString()
  };

  return result;
};

And here's a working fiddle.

Upvotes: 1

Ashish
Ashish

Reputation: 1121

Please mention your ionic version.

Using moment.js would solve your problem easily.

Lets say you have a random date with you and wants to find start of week.

moment(<randomDate>).startOf('isoWeek');

End of the week

moment(<randomDate>).endOf('isoWeek');

Upvotes: 0

phani indra
phani indra

Reputation: 243

var days=new Date().getWeek();
console.log(days[0].toLocaleDateString() + ' to '+ days[1].toLocaleDateString())

Dynamic date

var days=new Date("10/01/2017").getWeek();
    console.log(days[0].toLocaleDateString() + ' to '+ days[1].toLocaleDateString())

Upvotes: 0

Related Questions