diff --git a/snippets/daysAgo.md b/snippets/daysAgo.md new file mode 100644 index 000000000..8769b1b71 --- /dev/null +++ b/snippets/daysAgo.md @@ -0,0 +1,21 @@ +--- +title: daysAgo +tags: date,intermediate +--- + +Returns the date of `n` days ago from today as a string representation. + +- 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 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) +```