Skip to content

Commit b648132

Browse files
committed
Challenge 05 solved
1 parent c763bb0 commit b648132

File tree

4 files changed

+41
-20
lines changed

4 files changed

+41
-20
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Resolución de 25 retos javascript del juego [adventJS](https://adventjs.dev/) p
1010
| 02 | [¡Ayuda al elfo a listar los regalos!](challenges/02/) | Fácil | [Mostrar](challenges/02/solution.js) |
1111
| 03 | [El Grinch quiere fastidiar la Navidad](challenges/03/) | Normal | [Mostrar](challenges/03/solution.js) |
1212
| 04 | [¡Es hora de poner la navidad en casa!](challenges/04/) | Normal | [Mostrar](challenges/04/solution.js) |
13-
| 05 | [Contando los días para los regalos](challenges/05/) | Fácil | |
13+
| 05 | [Contando los días para los regalos](challenges/05/) | Fácil | [Mostrar](challenges/05/solution.js) |
1414
| 06 | [Rematando los exámenes finales](challenges/06/) | Normal ||
1515
| 07 | [Buscando en el almacén...](challenges/07/) | Normal ||
1616
| 08 | [La locura de las criptomonedas](challenges/08/) | Normal ||

challenges/05/README.md

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,37 @@ Para ayudar a esto, vamos a crear una función que pasándole una instancia de `
99
Veamos unos ejemplos:
1010

1111
```javascript
12-
const date1 = new Date('Dec 1, 2021');
13-
daysToXmas(date1); // 24
14-
const date2 = new Date('Dec 24, 2021 00:00:01');
15-
daysToXmas(date2); // 1
16-
const date3 = new Date('Dec 24, 2021 23:59:59');
17-
daysToXmas(date3); // 1
18-
const date4 = new Date('December 20, 2021 03:24:00');
19-
daysToXmas(date4); // 5
12+
const date1 = new Date('Dec 1, 2021')
13+
daysToXmas(date1) // 24
14+
const date2 = new Date('Dec 24, 2021 00:00:01')
15+
daysToXmas(date2) // 1
16+
const date3 = new Date('Dec 24, 2021 23:59:59')
17+
daysToXmas(date3) // 1
18+
const date4 = new Date('December 20, 2021 03:24:00')
19+
daysToXmas(date4) // 5
2020
```
2121

2222
El resultado tiene que ser **un número entero** y, como ves, aunque falte un segundo hasta el siguiente día, se entiende que todavía falta un día.
2323

2424
**¡Pero ojo!** También hay que indicar si la fecha es del mismo día (devolveríamos `0`) o si es una fecha futura (devolveríamos el número de días en negativo `-`):
2525

2626
```javascript
27-
const date = new Date('Dec 25, 2021');
28-
daysToXmas(date); // 0
29-
const date1 = new Date('Dec 26, 2021');
30-
daysToXmas(date1); // -1
31-
const date2 = new Date('Dec 31, 2021');
32-
daysToXmas(date2); // -6
33-
const date3 = new Date('Jan 1, 2022 00:00:01');
34-
daysToXmas(date3); // -7
35-
const date4 = new Date('Jan 1, 2022 23:59:59');
36-
daysToXmas(date4); // -7
27+
const date = new Date('Dec 25, 2021')
28+
daysToXmas(date) // 0
29+
const date1 = new Date('Dec 26, 2021')
30+
daysToXmas(date1) // -1
31+
const date2 = new Date('Dec 31, 2021')
32+
daysToXmas(date2) // -6
33+
const date3 = new Date('Jan 1, 2022 00:00:01')
34+
daysToXmas(date3) // -7
35+
const date4 = new Date('Jan 1, 2022 23:59:59')
36+
daysToXmas(date4) // -7
3737
```
3838

3939
Por cierto, la fecha de referencia para saber si es 25 de diciembre es `Dec 25, 2021`.
4040

41+
## Solución aceptada
42+
43+
![Solución aceptada](./solution.png)
44+
4145
[Volver a la tabla de desafíos](/README.md)

challenges/05/solution.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,18 @@
1-
// Solution challenge 05
1+
function daysToXmas(date) {
2+
const xmas = new Date(2021, 11, 25) // Dec 25, 2021
3+
const diff = xmas.getTime() - date.getTime()
4+
5+
const oneDay = 1000 * 60 * 60 * 24
6+
7+
return Math.ceil(diff / oneDay)
8+
}
9+
10+
console.log(daysToXmas(new Date('Dec 25, 2021'))) // 0
11+
12+
console.log(daysToXmas(new Date('Dec 26, 2021'))) //-1
13+
14+
console.log(daysToXmas(new Date('Dec 31, 2021'))) // -6
15+
16+
console.log(daysToXmas(new Date('Jan 1, 2022 00:00:01'))) // -7
17+
18+
console.log(daysToXmas(new Date('Jan 1, 2022 23:59:59'))) // -7

challenges/05/solution.png

53.5 KB
Loading

0 commit comments

Comments
 (0)