Learn R Programming

oce (version 0.9-20)

julianDay: Convert a POSIXt time to a Julian day

Description

Convert a POSIXt time to a Julian day, using the method provided in Chapter 3 of Meeus (1982). It should be noted that Meeus and other astronomical treatments use fractional days, whereas the present code follows the R convention of specifying days in whole numbers, with hours, minutes, and seconds also provided as necessary. Conversion is simple, as illustrated in the example for 1977 April 26.4, for which Meeus calculates julian day 2443259.9. Note that the R documentation for julian suggests another formula, but the point of the present function is to match the other Meeus formulae, so that suggestion is ignored here.

Usage

julianDay(t, year = NA, month = NA, day = NA, hour = NA, min = NA, sec = NA, tz = "UTC")

Arguments

t
a time, in POSIXt format, e.g. as created by as.POSIXct, as.POSIXlt, or numberAsPOSIXct. If this is provided, the other arguments are ignored.
year
year, to be provided along with month, etc., if t is not provided.
month
month, numbered with January being 1.
day
day in month, starting at 1.
hour
hour of day.
min
minute of hour
sec
second of hour
tz
timezone

Value

A Julian-Day number, in astronomical convention as explained in Meeus.

References

Meeus, Jean, 1982. Astronomical formuae for Calculators. Willmann-Bell. Richmond VA, USA. 201 pages

See Also

Other things related to astronomy: eclipticalToEquatorial, equatorialToLocalHorizontal, julianCenturyAnomaly, moonAngle, siderealTime, sunAngle

Other things related to time: ctimeToSeconds, julianCenturyAnomaly, numberAsHMS, numberAsPOSIXct, oce.as.POSIXlt, secondsToCtime, unabbreviateYear

Examples

Run this code

t <- ISOdatetime(1977, 4, 26, hour=0, min=0, sec=0, tz="ET")+0.4*86400
jd <- julianDay(t)
cat(format(t), "is Julian Day", format(jd, digits=14), "\n")

Run the code above in your browser using DataLab