JulianDate Structure 
Namespace: AGI.Foundation.Time
The JulianDate type exposes the following members.
Name  Description  

JulianDate(DateTime) 
Initializes a JulianDate from a DateTime.
The time standard will be Coordinated Universal Time (UTC).
 
JulianDate(Double) 
Initializes a JulianDate from a double expressing the complete astronomical Julian Date.
The time standard will be International Atomic Time (TAI).
 
JulianDate(GregorianDate) 
Initializes a JulianDate from a GregorianDate.
The time standard will be CoordinatedUniversalTime (UTC), except when
the gregorianDate represents time during a leap second. During a leap second,
the JulianDate will be in the InternationalAtomicTime (TAI)
standard.
 
JulianDate(DateTime, TimeStandard) 
Initializes a JulianDate from a DateTime and specified time standard.
 
JulianDate(Double, TimeStandard) 
Initializes a JulianDate from a double expressing the complete astronomical Julian Date.
 
JulianDate(Int32, Double) 
Initializes a JulianDate from the provided values. The values will be
normalized so that the SecondsOfDay property is less than the length of a day.
The time standard will be International Atomic Time (TAI).
 
JulianDate(GregorianDate, TimeStandard) 
Initializes a JulianDate from a GregorianDate where the GregorianDate
is expressed in the given TimeStandard. If the date is during a leap second, the
JulianDate will be expressed in InternationalAtomicTime (TAI).
 
JulianDate(Int32, Double, TimeStandard) 
Initializes a JulianDate from the provided values. The values will be
normalized so that the SecondsOfDay property is less than the length of the day.

Name  Description  

Day 
Gets the integer portion of the Julian Date (or astronomical Julian day number).
 
MaxValue 
Gets the largest possible value of JulianDate. This date is in InternationalAtomicTime and may not be representable in other time formats.
 
MinValue 
Gets the smallest value possible of JulianDate. This date is in InternationalAtomicTime and may not be representable in other time formats.
 
Now 
Gets the JulianDate that represents the current date and time. The time standard will be Coordinated Universal Time (UTC).
 
SecondsOfDay 
Gets the number of seconds past noon on the wholenumber Julian Day.
 
Standard 
Gets the TimeStandard that this astronomical Julian date is based upon.
 
TotalDays 
Gets the total number of whole and fractional days represented by this astronomical Julian date.

Name  Description  

Add 
Adds a Duration to this Julian date, producing a new Julian date.
 
AddClamped 
Adds a Duration to this Julian date, producing a new Julian date.
Unlike Add(Duration), this method will clamp the result to the valid range
of values for JulianDate rather than throwing an exception.
In most cases, Add(Duration) should be used instead.
 
AddDays 
Adds the specified number of days to this date and returns the new date.
 
AddHours 
Adds the specified number of hours to this date and returns the new date.
 
AddMinutes 
Adds the specified number of minutes to this date and returns the new date.
 
AddSeconds 
Adds the specified number of seconds to this date and returns the new date.
 
CompareTo(Object) 
Compares this instance with another instance of the same type.
 
CompareTo(JulianDate) 
Compares this instance with another instance of the same type.
 
DaysDifference 
Computes the number of days that have elapsed from this Julian date to the
other Julian date.
 
Equals(Object) 
Returns true if this date exactly equals another date. To be considered equal, the Day
and SecondsOfDay properties must be identical when converted to a common time standard.
It is highly recommended that you use EqualsEpsilon(JulianDate, Double) or IsIdentical(JulianDate)
instead of this method.
(Overrides ValueTypeEquals(Object).)  
Equals(JulianDate) 
Returns true if this date exactly equals another date. To be considered equal, the Day
and SecondsOfDay properties must be identical when converted to a common time standard.
It is highly recommended that you use EqualsEpsilon(JulianDate, Double) or IsIdentical(JulianDate)
instead of this method.
 
EqualsEpsilon 
Returns true if this date is within epsilon seconds of the
specified date. That is, in order for the dates to be considered equal (and for
this function to return true), the absolute value of the difference between them, in
seconds, must be less than or equal to epsilon.
 
GetCenterOfWindow 
Divides time into windows, each of length windowLength seconds, with the first
window centered on referenceEpoch. Then, identifies which window contains
date and returns the date that is at the center of that window. This is helpful
for computing a discrete value for a range of Julian dates.
 
GetHashCode 
Returns a hash code for this instance, which is suitable for use in hashing algorithms and data structures like a hash table.
(Overrides ValueTypeGetHashCode.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
IsIdentical 
Returns true if this date is identical to another date. Unlike Equals(JulianDate), this method will
consider two dates with different time standards to be different even if the dates represent the same
moment when expressed in the same time standard.
 
JulianDateToYearFraction 
Computes the fraction of the year corresponding to the given Julian date.
 
MinutesDifference 
Computes the number of minutes that have elapsed from this Julian date to the
other Julian date.
 
SecondsDifference 
Computes the number of seconds that have elapsed from this Julian date to the
other Julian date.
 
Subtract(Duration) 
Subtracts a Duration from this Julian date, producing a new
Julian date.
 
Subtract(JulianDate) 
Subtracts another Julian date from this Julian date.
 
SubtractDays 
Subtracts the specified number of days from this date and returns the new date.
 
SubtractHours 
Subtracts the specified number of hours from this date and returns the new date.
 
SubtractMinutes 
Subtracts the specified number of minutes from this date and returns the new date.
 
SubtractSeconds 
Subtracts the specified number of seconds to this date and returns the new
date.
 
ToDateTime 
Converts this JulianDate to a .NET standard
DateTime with a default time standard of Coordinated Universal
Time.
 
ToDateTime(TimeStandard) 
Converts this JulianDate to a .NET standard
DateTime expressed in the specified time standard.
 
ToGregorianDate 
Converts this JulianDate to a GregorianDate with a
default time standard of Coordinated Universal Time.
 
ToGregorianDate(TimeStandard) 
Converts this JulianDate to a GregorianDate
expressed in the specified time standard.
 
ToString 
Returns the value of this JulianDate in the standard format.
(Overrides ValueTypeToString.)  
ToTimeStandard 
Converts this JulianDate to the specified time standard.
 
TryConvertTimeStandard 
Try to convert this JulianDate to the specified
TimeStandard, if the specified TimeStandard is
capable of representing this time.

Name  Description  

Addition 
Adds a Duration to a JulianDate, producing a new
Julian date.
 
Equality 
Returns true if the two dates are exactly equal. To be considered equal, the Day
and SecondsOfDay properties must be identical when converted to a common time standard.
It is highly recommended that you use EqualsEpsilon(JulianDate, Double) or IsIdentical(JulianDate)
instead of this method.
 
GreaterThan 
Returns true if left occurs after right.
 
GreaterThanOrEqual 
Returns true if left occurs after or at the same time as right.
 
Inequality 
Returns true if the two dates are NOT exactly equal. To be considered equal, the Day
and SecondsOfDay properties must be identical when converted to a common time standard.
It is highly recommended that you use EqualsEpsilon(JulianDate, Double) or IsIdentical(JulianDate)
instead of this method.
 
LessThan 
Returns true if left occurs before right.
 
LessThanOrEqual 
Returns true if left occurs before or at the same time as right.
 
Subtraction(JulianDate, Duration) 
Subtracts a Duration from a Julian date, yielding a new
JulianDate.
 
Subtraction(JulianDate, JulianDate) 
Subtracts a Julian date from another Julian date, yielding a
Duration.
