diff --git a/snippets/tomorrow.md b/snippets/tomorrow.md index 9d9300071..8288d2f08 100644 --- a/snippets/tomorrow.md +++ b/snippets/tomorrow.md @@ -2,20 +2,18 @@ Results in a string representation of tomorrow's date. -Use `new Date()` to get today's date, adding one day using `Date.getDate()` and `Date.setDate()`, and converting the Date object to a string. +First we use `new Date()` to get today's date, then add one day using `Date.getDate()` and mutate the initial `Date` via `Date.setDate()`. The we use `.toISOString` to get the date part of the string – discarding the time part. ```js -const tomorrow = (long = false) => { +const tomorrow = () => { let t = new Date(); t.setDate(t.getDate() + 1); - const ret = `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, '0')}-${String( - t.getDate() - ).padStart(2, '0')}`; - return !long ? ret : `${ret}T00:00:00`; + return t.toISOString().split('T')[0]; }; ``` ```js -tomorrow(); // 2017-12-27 (if current date is 2017-12-26) -tomorrow(true); // 2017-12-27T00:00:00 (if current date is 2017-12-26) +tomorrow(); // 2018-10-18 (if current date is 2018-10-18) +// if you need the time to indicate the start of the day as well: +`${tomorrow()}T00:00:00}: // 2018-10-18T00:00:00 ``` diff --git a/test/tomorrow/tomorrow.js b/test/tomorrow/tomorrow.js index a78e50b47..9ff554de4 100644 --- a/test/tomorrow/tomorrow.js +++ b/test/tomorrow/tomorrow.js @@ -1,9 +1,7 @@ -const tomorrow = (long = false) => { +const tomorrow = () => { let t = new Date(); t.setDate(t.getDate() + 1); - const ret = `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, '0')}-${String( - t.getDate() - ).padStart(2, '0')}`; - return !long ? ret : `${ret}T00:00:00`; + return t.toISOString().split('T')[0]; }; + module.exports = tomorrow; diff --git a/test/tomorrow/tomorrow.test.js b/test/tomorrow/tomorrow.test.js index 4827289c8..e8dfe1a03 100644 --- a/test/tomorrow/tomorrow.test.js +++ b/test/tomorrow/tomorrow.test.js @@ -4,6 +4,10 @@ const tomorrow = require('./tomorrow.js'); test('tomorrow is a Function', () => { expect(tomorrow).toBeInstanceOf(Function); }); +test('Returns the correct type', () => { + expect(typeof tomorrow()).toBe('string'); +}); + const t1 = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() + 1); const t2 = new Date(tomorrow()); test('Returns the correct year', () => {