diff --git a/snippets/addMinutesToDate.md b/snippets/addMinutesToDate.md new file mode 100644 index 000000000..651456558 --- /dev/null +++ b/snippets/addMinutesToDate.md @@ -0,0 +1,24 @@ +--- +title: addMinutesToDate +tags: date,intermediate +--- + +Calculates the date of `n` minutes from the given date, returning its string representation. + +- Use `new Date()` to create a date object from the first argument. +- Use `Date.prototype.getTime()` and `Date.prototype.setTime()` to add `n` minutes to the given date. +- Use `Date.prototype.toISOString()`, `String.prototype.split()` and `String.prototype.replace()` to return a string in `yyyy-mm-dd HH:MM:SS` format. + + +```js +const addMinutesToDate = (date, n) => { + const d = new Date(date); + d.setTime(d.getTime() + n * 60000); + return d.toISOString().split('.')[0].replace('T',' '); +}; +``` + +```js +addMinutesToDate('2020-10-19 12:00:00', 10); // '2020-10-19 12:10:00' +addMinutesToDate('2020-10-19', -10); // '2020-10-18 23:50:00' +```