SofaDtf2d Method
Encode date and time fields into 2-part Julian Date (or in the case of UTC a quasi-JD form that includes special provision for leap seconds).
Namespace: ASCOM.ToolsAssembly: ASCOM.AstrometryTools (in ASCOM.AstrometryTools.dll) Version: 3.0.0-rc.1+86c25ce733aebb4d8b1b8a62e84770ea5e972bea
public static short Dtf2d(
string scale,
int iy,
int im,
int id,
int ihr,
int imn,
double sec,
ref double d1,
ref double d2
)
Public Shared Function Dtf2d (
scale As String,
iy As Integer,
im As Integer,
id As Integer,
ihr As Integer,
imn As Integer,
sec As Double,
ByRef d1 As Double,
ByRef d2 As Double
) As Short
- scale String
- Time scale ID (Note 1)
- iy Int32
- Year in Gregorian calendar (Note 2)
- im Int32
- Month in Gregorian calendar (Note 2)
- id Int32
- Day in Gregorian calendar (Note 2)
- ihr Int32
- Hour
- imn Int32
- Minute
- sec Double
- Seconds
- d1 Double
- 2-part Julian Date (Notes 3, 4)
- d2 Double
- 2-part Julian Date (Notes 3, 4)
Int16Status: +3 = both of next two, +2 = time is after end of day (Note 5), +1 = dubious year (Note 6), 0 = OK, -1 = bad year, -2 = bad month, -3 = bad day, -4 = bad hour, -5 = bad minute, -6 = bad second (<0)
Notes:
- Scale identifies the time scale. Only the value "UTC" (in upper case) is significant, and enables handling of leap seconds (see Note 4).
- For calendar conventions and limitations, see iauCal2jd.
- The sum of the results, d1+d2, is Julian Date, where normally d1 is the Julian Day Number and d2 is the fraction of a day. In the case of UTC, where the use of JD is problematical, special conventions apply: see the next note.
- JD cannot unambiguously represent UTC during a leap second unless special measures are taken. The SOFA internal convention is that the quasi-JD day represents UTC days whether the length is 86399,
86400 or 86401 SI seconds. In the 1960-1972 era there were smaller jumps (in either direction) each time the linear UTC(TAI) expression was changed, and these "mini-leaps" are also included in the SOFA convention.
- The warning status "time is after end of day" usually means that the sec argument is greater than 60.0. However, in a day ending in a leap second the limit changes to 61.0 (or 59.0 in the case of a negative leap second).
- The warning status "dubious year" flags UTCs that predate the introduction of the time scale or that are too far in the future to be trusted. See iauDat for further details.
- Only in the case of continuous and regular time scales (TAI, TT, TCG, TCB and TDB) is the result d1+d2 a Julian Date, strictly speaking. In the other cases (UT1 and UTC) the result must be
used with circumspection; in particular the difference between two such results cannot be interpreted as a precise time interval.
Supported in: 2.0