Calcula el dia de l'any per a qualsevol data donada i determina el nombre de dies restants de l'any. Útil per a la planificació de projectes, l'agricultura, l'astronomia i diversos càlculs basats en dates.
Dia de l'any: 0
Dies restants de l'any: 0
Progrés durant l'any
La calculadora del dia de l'any és una eina útil per determinar el dia numèric de l'any per a una data determinada, així com per calcular el nombre de dies restants de l'any. Aquesta calculadora es basa en el calendari gregorià, que és el calendari civil més utilitzat al món actual.
El dia de l'any es calcula mitjançant la següent fórmula:
Per a anys no de traspàs:
Per a anys de traspàs:
On:
El nombre de dies restants de l'any es calcula com:
La calculadora realitza els següents passos:
Un any és un any de traspàs si és divisible per 4, excepte els anys de segle, que han de ser divisibles per 400 per ser un any de traspàs. Per exemple, 2000 i 2400 són anys de traspàs, mentre que 1800, 1900, 2100, 2200, 2300 i 2500 no són anys de traspàs.
La calculadora del dia de l'any té diverses aplicacions:
Si bé el dia de l'any és una mesura útil, hi ha altres càlculs de dates relacionats que podrien ser més apropiats en certes situacions:
El concepte de comptar dies dins d'un any ha estat una part integral dels sistemes de calendari al llarg de la història. Civilitzacions antigues, incloent els egipcis, maies i romans, van desenvolupar diversos mètodes per fer un seguiment dels dies i les estacions.
El calendari julià, introduït per Juli Cèsar el 45 aC, va ser un pas significatiu cap al nostre calendari modern. Va establir el concepte d'any de traspàs, afegint un dia addicional cada quatre anys per mantenir el calendari alineat amb l'any solar.
El calendari gregorià, introduït pel Papa Gregori XIII el 1582, va refinar encara més la regla d'any de traspàs fins a la seva forma actual. Aquest calendari és ara l'estàndard internacional per a l'ús civil i forma la base per a la majoria dels càlculs del dia de l'any.
La necessitat de comptar dies amb precisió es va fer cada vegada més important amb l'aparició dels ordinadors i sistemes digitals. A mitjans del segle XX, els científics informàtics van desenvolupar diversos sistemes d'codificació de dates, incloent el timestamp de Unix (comptant segons des del 1 de gener de 1970) i ISO 8601 (una norma internacional per representar dates i hores).
Avui, els càlculs del dia de l'any s'utilitzen en diversos camps, des de l'astronomia fins a les finances, demostrant la importància perdurable d'una cronologia precisa i la representació de dates en el nostre món modern.
Aquí hi ha alguns exemples de codi per calcular el dia de l'any per a diferents llenguatges de programació:
1' Funció VBA d'Excel per al Dia de l'Any
2Function DayOfYear(inputDate As Date) As Integer
3 DayOfYear = inputDate - DateSerial(Year(inputDate), 1, 0)
4End Function
5' Ús:
6' =DayOfYear(DATE(2023,7,15))
7
1import datetime
2
3def day_of_year(date):
4 return date.timetuple().tm_yday
5
6## Exemple d'ús:
7date = datetime.date(2023, 7, 15)
8day = day_of_year(date)
9days_left = 365 - day # Ajustar per anys de traspàs si és necessari
10print(f"Dia de l'any: {day}")
11print(f"Dies restants de l'any: {days_left}")
12
1function dayOfYear(date) {
2 const start = new Date(date.getFullYear(), 0, 0);
3 const diff = date - start;
4 const oneDay = 1000 * 60 * 60 * 24;
5 return Math.floor(diff / oneDay);
6}
7
8// Exemple d'ús:
9const date = new Date(2023, 6, 15); // 15 de juliol de 2023
10const day = dayOfYear(date);
11const daysLeft = (isLeapYear(date.getFullYear()) ? 366 : 365) - day;
12console.log(`Dia de l'any: ${day}`);
13console.log(`Dies restants de l'any: ${daysLeft}`);
14
15function isLeapYear(year) {
16 return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
17}
18
1import java.time.LocalDate;
2import java.time.temporal.ChronoUnit;
3
4public class DayOfYearCalculator {
5 public static int dayOfYear(LocalDate date) {
6 return date.getDayOfYear();
7 }
8
9 public static int daysLeftInYear(LocalDate date) {
10 LocalDate lastDayOfYear = LocalDate.of(date.getYear(), 12, 31);
11 return (int) ChronoUnit.DAYS.between(date, lastDayOfYear);
12 }
13
14 public static void main(String[] args) {
15 LocalDate date = LocalDate.of(2023, 7, 15);
16 int dayOfYear = dayOfYear(date);
17 int daysLeft = daysLeftInYear(date);
18 System.out.printf("Dia de l'any: %d%n", dayOfYear);
19 System.out.printf("Dies restants de l'any: %d%n", daysLeft);
20 }
21}
22
Aquests exemples demostren com calcular el dia de l'any i els dies restants per a una data donada utilitzant diversos llenguatges de programació. Podeu adaptar aquestes funcions a les vostres necessitats específiques o integrar-les en sistemes de processament de dates més grans.
Any no de traspàs (2023):
Any de traspàs (2024):
Dia d'Any Nou:
Vigília d'Any Nou:
Descobreix més eines que podrien ser útils per al teu flux de treball