|
1 | 1 | function getTime() {
|
2 |
| - let baseDate = new Date("2025-02-13"); // dia base |
| 2 | + const BASEDATE = new Date(Date.UTC(2025, 1, 13, 14, 30)); // 2025-02-13 14:30 en UTC, los meses en UTC empiezan en cero!!! |
3 | 3 | let now = new Date();
|
4 |
| - let timeDifference = Math.floor((now.getTime() - baseDate.getTime()) / 60 / 60 / 24 / 1000); |
5 |
| - let eachWeek = Math.floor(timeDifference / 7); |
6 |
| - let result = eachWeek % 4; |
| 4 | + let utcTimestamp = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), |
| 5 | + now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds(), now.getUTCMilliseconds()); // el UTC de la hora actual |
| 6 | + |
| 7 | + let timeDifference = Math.floor((utcTimestamp - BASEDATE.getTime()) / 60 / 1000); |
| 8 | + let eachWeek = Math.floor(timeDifference / 10080); // 7 dias en minutos |
7 | 9 |
|
8 |
| - return {result, now}; |
| 10 | + let result = eachWeek % 4; |
| 11 | + return result; |
9 | 12 | }
|
10 | 13 |
|
11 | 14 | function setSeason() {
|
| 15 | + const SEASONS = {0:"autumn", 1:"winter", 2:"spring", 3:"summer"}; |
12 | 16 | let season = document.getElementById("season");
|
13 |
| - let {result, now} = getTime(); |
14 |
| - |
15 |
| - let weekDay = now.getUTCDay(); |
16 |
| - let nowHour = now.getUTCHours(); |
17 |
| - let nowMinutes = now.getUTCMinutes(); |
18 |
| - let nowHourMinutes = nowHour * 60 + nowMinutes; |
19 |
| - |
20 |
| - // 870 minutos son las 14:30 |
21 |
| - if ((nowHourMinutes >= 870) && (weekDay == 4)) { |
22 |
| - result++; |
23 |
| - result = result % 4; |
24 |
| - } |
25 |
| - |
26 |
| - switch (result) { |
27 |
| - case 0: |
28 |
| - season.textContent = "It's autumn!"; |
29 |
| - document.title = "It's autumn in FH4!" |
30 |
| - break; |
31 |
| - case 1: |
32 |
| - season.textContent = "It's winter!"; |
33 |
| - document.title = "It's winter in FH4!" |
34 |
| - break; |
35 |
| - case 2: |
36 |
| - season.textContent = "It's spring!"; |
37 |
| - document.title = "It's spring in FH4!" |
38 |
| - break; |
39 |
| - case 3: |
40 |
| - season.textContent = "It's summer!"; |
41 |
| - document.title = "It's summer in FH4!" |
42 |
| - break; |
43 |
| - } |
| 17 | + let result = getTime(); |
44 | 18 |
|
45 |
| - document.body.style.backgroundImage = `url(images/${result}.jpg)` |
| 19 | + season.textContent = `It's ${SEASONS[result]}`; |
| 20 | + document.title = `It's ${SEASONS[result]} in FH4!`; |
| 21 | + document.body.style.backgroundImage = `url(images/${result}.jpg)`; |
46 | 22 | }
|
47 | 23 |
|
48 | 24 | setSeason();
|
0 commit comments