From 355cc6873f84632e38a4cd4e8265ee496e4792f4 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Fri, 9 Oct 2020 12:19:03 +0300 Subject: [PATCH] Update daysFromNow.md --- snippets/daysFromNow.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/snippets/daysFromNow.md b/snippets/daysFromNow.md index 4cc87a570..8bf9bd201 100644 --- a/snippets/daysFromNow.md +++ b/snippets/daysFromNow.md @@ -1,20 +1,21 @@ --- -title: daysFromNow.md +title: daysFromNow tags: date,beginner --- Returns the date of `n` days from today as a string representation. -- Use `new Date()` and `Date.prototype.getDate()` to get the current time stamp add the number of milliseconds and use it to create a new `Date` object. +- Use `new Date()` to get the current date, `Math.abs()` and `Date.getDate()` to update the date accordingly and set to the result using `Date.setDate()`. - Use `Date.prototype.toISOString()` to return a string in `yyyy-mm-dd` format. ```js -const daysFromNow = n =>{ - let date = new Date(new Date().getTime() + n * 24 * 60 * 60 * 1000); - return date.toISOString().split('T')[0]; +const daysFromNow = n => { + let d = new Date(); + d.setDate(d.getDate() + Math.abs(n)); + return d.toISOString().split('T')[0]; } ``` ```js -daysFromNow('5'); // 2020-10-13 +daysFromNow(5); // 2020-10-13 (if current date is 2020-10-08) ```