Improve the readability of tomorrow.js (solved #775)

This commit is contained in:
Filip Danić
2018-10-17 11:36:41 +02:00
parent 4c926b26cd
commit 1e43dc7b89
3 changed files with 13 additions and 13 deletions

View File

@ -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
```

View File

@ -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;

View File

@ -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', () => {