# Template:JULIANDAY/doc

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4801 BC), the result is still correct
```
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
```
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4800 BC), the result is still correct
```
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
```
• {{JULIANDAY/doc|-4799|3|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4800 BC), same date at noon
```
• {{JULIANDAY/doc|-4799|3|2}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4800 BC), tests the 1 day increment
```
• {{JULIANDAY/doc|-4713|11|24}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4714 BC)
```
• {{JULIANDAY/doc|-4713|11|25}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 4714 BC)
```
• {{JULIANDAY/doc|0|1|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (in year 1 BC)
```
• {{JULIANDAY/doc|0|12|25}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic)
```
• {{JULIANDAY/doc|0|12|30}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
```
• {{JULIANDAY/doc|0|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic)
```
• {{JULIANDAY/doc|1|1|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
```
• {{JULIANDAY/doc|200|2|28}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
```
• {{JULIANDAY/doc|200|3|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
```
• {{JULIANDAY/doc|300|2|28}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
```
• {{JULIANDAY/doc|300|3|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
```
• {{JULIANDAY/doc|325|3|21}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
```
• {{JULIANDAY/doc|1782|10|14}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
```
• {{JULIANDAY/doc|1782|10|15}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
```
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(start of epoch for the Reduced Julian Day, RJD)
```
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(start of epoch for the Modified Julian Day, MJD)
```
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(start of epoch for the NASA's Truncated Julian Day, TJD)
```
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
```
• {{JULIANDAY/doc|1999|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2000|1|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(the “Y2K bug's day” and millennium celebrations)
```
• {{JULIANDAY/doc|2000|1|2}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2000|2|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2000|3|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2000|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
```
• {{JULIANDAY/doc|2001|1|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc
```(first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
```
• {{JULIANDAY/doc|2001|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2002|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2003|12|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|2|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|3|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|3|31}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30|12.0}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc

• {{JULIANDAY/doc|2006|5|1}} returns

This template computes the number of the Julian day — a continuous count of days since the beginning of the Julian Period used primarily by astronomers — starting at noon on the date given in parameter (in the Gregorian calendar, without any Julian correction for proleptic Gregorian dates where the calendar was not effectively applied).

The result is valid for all proleptic Gregorian calendar dates starting on March 1, 4800 BC (-4799) at midnight.

Syntax:
{{JULIANDAY|year|[month]|[day]|[hour]|[minute]|[second]}}
• The year (required) must be astronomical (year=1 in 1 AD (Anno Domini), year=0 in 1 BC, year=-1 in 2 BC).
• The month (optional, default value 1) is expressed between 1 and 12 from January to December (but offsets are possible for computing other years).
• The year and month are first converted into a number of months, then rounded to the nearest integer to compute the actual year and month used for computing dates.
• The day (optional, default value 1) is normally between 1 and 31 (but offsets are possible for computing other months). Decimals are possible for fractions of day.
• The hour (optional, default value 12) is normally between 0 and 23 (but offsets are possible for computing other days). Note that Julian days begin at noon (hour = 12) and thus hours 0-11 of a solar day are one Julian day earlier than hours 12-23. The value may extend outside of the normal range and is considered as additional number of Julian days (a Julian day is 24 hours or 86400 seconds exactly, ignoring any adjustment of leap seconds within the UTC calendar). Decimals are possible for fractions of hour.
• The minute and second (optional, default value 0) are normally between 0 and 59 (but offsets are possible for computing other hours). Decimals are possible for fractions of minute or second.
• All parameters can be any valid numeric expression which is evaluated before computing.
Note:
The Julian day, when computed modulo 7, grows from 0 (on Monday at noon) to 6 (on Sunday at noon)) and falls back to 0 (on next Monday). This corresponds to the order of days in the ISO week.
Limitations

Before March 4800 BC, the results may be offset (by up to 365 or 366 days) due to the limitation of the MediaWiki `#expr` operators used in the implementation.

This limitation could be fixed (and the implementation simplified a bit) by using `a - floor(a / b ) * b` (now supported in expressions) or the more recent `a fmod b`, instead of `a mod b` already too limited in value range (and actually not used in this template), and instead of `a - (a / b + 0.5 round 0) + b`, as both are truncating their result towards zero, the equivalent of a `ceil()` when their parameter is negative.

This template was written and optimized to avoid all conditional expressions and to reduce the template expansions to their strict minimum (avoiding also the inclusion of complex templates for computing cyclic modulos, or euclidean divisions and roundings towards minus infinity), because `#expr` still does not support temporary local variables to store the template parameters and reuse their current value without more expansions.

All problematic negative values are normally avoided by avoiding excessively negative parameter values (using negative values is safe for the day, hour, minute and second parameters, but not safe for the month and year parameters if their resulting month falls before March 4800 BC).

Examples:
• {{JULIANDAY/doc|-4800|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), the result is still correct
• {{JULIANDAY/doc|-4800|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4801 BC), date where the result is false (the returned JD is too large by 365 days)
• {{JULIANDAY/doc|-4799|2|29|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), the result is still correct
• {{JULIANDAY/doc|-4799|3|1|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), first Gregorian date where the result is warrantied to be correct
• {{JULIANDAY/doc|-4799|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), same date at noon
• {{JULIANDAY/doc|-4799|3|2}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4800 BC), tests the 1 day increment
• {{JULIANDAY/doc|-4713|11|24}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|-4713|11|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 4714 BC)
• {{JULIANDAY/doc|0|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (in year 1 BC)
• {{JULIANDAY/doc|0|12|25}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|0|12|30}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Julian Anno Domini, first day in proleptic Julian year 1 AD, or December 30 in proleptic Gregorian year 1 BC)
• {{JULIANDAY/doc|0|12|31}} returns Template loop detected: Template:JULIANDAY/doc (proleptic)
• {{JULIANDAY/doc|1|1|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (Gregorian Anno Domini, in proleptic Gregorian year 1 AD, or January 3 in proleptic Julian year 1 AD)
• {{JULIANDAY/doc|200|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day of Julian leap year 200 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|200|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|2|28}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last day where the Julian and proleptic Gregorian calendars are equivalent)
• {{JULIANDAY/doc|300|3|1}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (first day of difference between the Julian and proleptic Gregorian calendars, in leap Julian year 300 AD, not leap in the proleptic Gregorian calendar)
• {{JULIANDAY/doc|325|3|21}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (spring equinox observed at the Christian First Council of Nicaea, taken as a reference for aligning the Julian calendar to the proleptic Gregorian)
• {{JULIANDAY/doc|1782|10|14}} returns Template loop detected: Template:JULIANDAY/doc (proleptic) (last proleptic Gregorian day, actually the 4th of October in the Julian calendar)
• {{JULIANDAY/doc|1782|10|15}} returns Template loop detected: Template:JULIANDAY/doc (first non proleptic Gregorian day, equals the 5th of October in the previous Julian calendar)
• {{JULIANDAY/doc|1858|11|16|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Reduced Julian Day, RJD)
• {{JULIANDAY/doc|1858|11|17|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the Modified Julian Day, MJD)
• {{JULIANDAY/doc|1968|05|24|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the NASA's Truncated Julian Day, TJD)
• {{JULIANDAY/doc|1995|10|10|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc (start of epoch for the current National Institute of Standards and Technology's Truncated Julian Day, TJD mod 10000)
• {{JULIANDAY/doc|1999|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|1|1}} returns Template loop detected: Template:JULIANDAY/doc (the “Y2K bug's day” and millennium celebrations)
• {{JULIANDAY/doc|2000|1|2}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2000|12|31}} returns Template loop detected: Template:JULIANDAY/doc (last day of the 2nd millennium and of the 20th century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|1|1}} returns Template loop detected: Template:JULIANDAY/doc (first day of the 3rd millennium and of the 21st century in the Gregorian calendar)
• {{JULIANDAY/doc|2001|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2002|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2003|12|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|2|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|1}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|3|31}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|0|0|0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|01|35|48}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|11|59|60}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|12.0}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|4|30|23|59|59}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|00|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1|12|00|00}} returns Template loop detected: Template:JULIANDAY/doc
• {{JULIANDAY/doc|2006|5|1}} returns Template loop detected: Template:JULIANDAY/doc