|
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