From 993019d6826048afedd163a632411b0f2cdb67ed Mon Sep 17 00:00:00 2001 From: Siv S Date: Tue, 6 Oct 2020 06:35:23 +0400 Subject: [PATCH] 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) +```