AngularJS how to add days / months / years to a date [duplicate] - javascript

This question already has answers here:
How to add number of days to today's date? [duplicate]
(16 answers)
Closed 8 years ago.
We are using AngularJS to set filters.
Basically we have a start date and end date and frequency. When the frequency is set to week, we simply want to add 1 week to the start date, when the frequency is set to daily, we want to add 1 day to the start date.
Basically something like :-
var date = new date();
date.addDays(2);
date.addMonths(2);
date.addYears(2);

I would consider using moment.js for all of your JS date related needs then you can do:
var date = moment();
date.add(2, 'days');
date.add(2, 'months');
date.add(2, 'years');
// or all of the above with:
date.add({years: 2, months: 2, days: 2});
And if you need a regular JS date object at the end, check out this post

Related

How do you code where the system will immediately compute the estimated next date? [duplicate]

This question already has answers here:
How to add days to Date?
(56 answers)
Add 30 days to a Current date - JS [duplicate]
(3 answers)
Closed 1 year ago.
For example, I have a project where the vaccination date for AstraZeneca is today (August 15, 2021) and the next dosage should be the next 4 weeks? Also, I'm going to be using Firestore to store these dates which would be used for monthly reports.
Is this the correct way to store the current date?
console.log(new Date().toLocaleString().split(",")[0]);
Output:
8/15/2021
The expected output for the estimated 2nd dose of vaccination:
9/5/2021
Also, how can I code it in a way that the system will immediately computer the estimated date for the 2nd dose of vaccine? For sure, I know adding the days to the current date won't work since there are different months with either 30 or 31 days and also both the month and year won't get updated.
can you please try using days instead.
Date.prototype.addDays = function (days) {
const date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date;
};
// Add 7 Days
const date = new Date('2020-12-02');
console.log(date.addDays(7));
// 2020-12-09T00:00:00.000Z

Getting the date of the nth day after a given date [duplicate]

This question already has answers here:
Incrementing a date in JavaScript
(19 answers)
How to add days to Date?
(56 answers)
Closed 2 years ago.
I am looking to find the date for, say, the 100th day after any given day. Is there a way to do that via javascript?
I was hoping it could be as simple as below, but it isn't quite that simple.
var givenDay = new Date(01/01/2020);
var hundredthDay = new Date(givenDay + 100);
console.log(hundredthDay)
You can try using .setDate() and .getDate() combination.
The setDate() method sets the day of the Date object relative to the beginning of the currently set month.
The getDate() method returns the day of the month for the specified date according to local time.
Adding the required days to .getDate() as the following:
const givenDay = new Date('01/01/2020');
console.log(givenDay);
const result = new Date(givenDay.setDate(givenDay.getDate() + 1 + 100));
console.log(result);
I hope this helps!

calculate whether weekend weekday or holiday [duplicate]

This question already has answers here:
Determine if a date is a Saturday or a Sunday using JavaScript
(6 answers)
Checking if date belongs to array of dates
(3 answers)
How to determine if date is weekend in JavaScript
(11 answers)
Moment JS Excluding Holidays
(2 answers)
Closed 3 years ago.
I have a start date and end date from my request need to find whether the given day is weekday or weekend or holiday(from list of holidays in db)
I tried using moment.js
moment.js is just a library to manage dates, what you need is an algorithm to find if one of the dates is weekend or weekday.
So what you can do is get the day number from the date (0-6) where 0 is sunday.
Let's say
var date = moment("2015-07-02");
var dow = date.day();
And about holidays or not or not, that's simple also, you need to get an array with all the dates in the same format that you are using with moment.js and iterate through the array to do it something like:
var holidays = ["2019-07-02", "2019-07-04"]
let isHoliday = holidays.find(x => x === "2015-07-02")
You need to do some work after all you need is here.
To determine if a given date is a weekend is actually pretty simple and already has an answer here.
To determine if a given date is holiday is bit more complex, you can not achieve it with native JavaScript, you will need the help of external package.
I recommend you to use moment-holiday, it has a simplest API:
moment('2017-12-25').isHoliday();
//Christmas Day
moment('2005-03-15').isHoliday();
//false
moment('2009-10-31').isHoliday('Halloween');
//true
moment('2017-12-31').isHoliday();
//New Year's Eve
moment('2017-12-31').isHoliday(null, true);
//false
Or you can use date-holidays.

Subtract one day from a particular date using MomentJs [duplicate]

This question already has answers here:
Moment JS - how to subtract 7 days from current date?
(6 answers)
Format date and Subtract days using Moment.js
(7 answers)
Closed 4 years ago.
I get the second week of 2018 like this using moment.js
var date =moment([2018]).isoWeek(2).startOf('isoWeek').format('DD-MM-YYYY');
I need to get the date previous to the this date; i.e. the date previous to
08-01-2018
Use moment substract method:
.subtract(1, 'days');

javascript date() object for 8 days in the future [duplicate]

This question already has answers here:
How to add number of days to today's date? [duplicate]
(16 answers)
Closed 8 years ago.
I'm trying to figure out the proper way to get the javascript Date object for 8 days in the future from today.
Why? because I want to subtract a given Date from today's date and if it is less than or equal to 8 days in the future then do something.
So, I figured out how to parse the given date with new Date('2014-11-21T00:00:00.000-05:00') and get the date object from that and then I can subtract it from today like so: new Date('2014-12-25T00:00:00.000-05:00') - new Date() and then I have to compare that to the date object for 8 days in the future - today's date object.
Here's how I thought about doing the date object for the date 8 days in the future: I created a new Date with all measurements of time the same as today except I added 8 to the day. This works, except what if today is less than 8 days from the end of the month, then how do I get it to overflow into the next month. For example the 27th + 8 ( of october ) should be november 4th and not october's 35th.
var date = new Date();
date.setDate((date.getDate() + 8));
//date.setDate((date.getDate() - 8)); example of subtracting
This is how you add or subtract days from a date. This will automatically account for month to month role over.

Categories