Learn R Programming

oce (version 1.0-1)

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 formulae 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, secondsToCtime, unabbreviateYear

Examples

Run this code
# NOT RUN {
t <- ISOdatetime(1977, 4, 26, hour=0, min=0, sec=0, tz="UTC")+0.4*86400
expect_equal(julianDay(t), 2443259.9) # example from Meeus

# }

Run the code above in your browser using DataLab