From 993019d6826048afedd163a632411b0f2cdb67ed Mon Sep 17 00:00:00 2001 From: Siv S Date: Tue, 6 Oct 2020 06:35:23 +0400 Subject: [PATCH 1/2] previous N days from today as date string --- snippets/daysAgo.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 snippets/daysAgo.md diff --git a/snippets/daysAgo.md b/snippets/daysAgo.md new file mode 100644 index 000000000..c65ccdd5a --- /dev/null +++ b/snippets/daysAgo.md @@ -0,0 +1,21 @@ +--- +title: daysAgo +tags: date,intermediate +--- + +Returns previous N days from today as date string representation. + +- Use `new Date()` to get the current date, decrement using `Date.getDate()` and set the value to the result using `Date.setDate()`. +- Use `Date.prototype.toISOString()` to return a string in `yyyy-mm-dd` format. + +```js +const daysAgo = (n) => { + let t = new Date(); + t.setDate(t.getDate() - Math.abs(n)); + return t.toISOString().split('T')[0]; +}; +``` + +```js +daysAgo(20); // 2020-09-16 (if current date is 2020-10-06) +``` From 2b47e9c184a6bfcbc888ecccbec4e3b922b78e79 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Tue, 6 Oct 2020 19:18:33 +0300 Subject: [PATCH 2/2] Update daysAgo.md --- snippets/daysAgo.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snippets/daysAgo.md b/snippets/daysAgo.md index c65ccdd5a..8769b1b71 100644 --- a/snippets/daysAgo.md +++ b/snippets/daysAgo.md @@ -3,9 +3,9 @@ title: daysAgo tags: date,intermediate --- -Returns previous N days from today as date string representation. +Returns the date of `n` days ago from today as a string representation. -- Use `new Date()` to get the current date, decrement using `Date.getDate()` and set the value to the result using `Date.setDate()`. +- 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