Skip to content

Commit

Permalink
Update JulianDatesClass.cs zu 1.1.0.2
Browse files Browse the repository at this point in the history
Add some more JD variations
  • Loading branch information
mjohne authored Jun 22, 2017
1 parent 73488ac commit 2458748
Showing 1 changed file with 113 additions and 22 deletions.
135 changes: 113 additions & 22 deletions JulianDatesClass.cs
Original file line number Diff line number Diff line change
@@ -1,95 +1,186 @@
using System;
using System;
using System.Globalization;

class JulianDatesClass
{
public const double
doubleJulianDateCoefficient = 2415018.5,
doubleModifiedJulianDateCoefficient = 2400000.5,
doubleReducedJulianDateCoefficient = 2400000,
doubleTruncatedJulianDateCoefficient = 2440000.5,
doubleDublinJulianDateCoefficient = 2415020,
doubleCnesJulianDateCoefficient = 2433282.5,
doubleCcsdsJulianDateCoefficient = 2436204.5,
doubleLopJulianDateCoefficient = 2448622.5,
doubleMillenniumJulianDateCoefficient = 2451544.5,
doubleLilianDateCoefficient = 2299159.5,
doubleRataDieCoefficient = 1721424.5,
doubleMarsSolDateCoefficient = 2405522,
doubleRatioRotationAxisEarthMars = 1.02749,
doubleUnixtimeCoefficient = 2440587.5;

public const int
intSecondsOfDay = 86400;

public static double calcJulianDate()
{
return DateTime.Now.ToOADate() + 2415018.5;
return DateTime.Now.ToOADate() + doubleJulianDateCoefficient;
}

public static double calcJulianDate(DateTime date)
{
return date.ToOADate() + 2415018.5;
return date.ToOADate() + doubleJulianDateCoefficient;
}

public static double calcModifiedJulianDate()
{
return calcJulianDate() - 2400000.5;
return calcJulianDate() - doubleModifiedJulianDateCoefficient;
}

public static double calcModifiedJulianDate(DateTime date)
{
return calcJulianDate(date) - 2400000.5;
return calcJulianDate(date) - doubleModifiedJulianDateCoefficient;
}

public static double calcReducedJulianDate()
{
return calcJulianDate() - 2400000;
return calcJulianDate() - doubleReducedJulianDateCoefficient;
}

public static double calcReducedJulianDate(DateTime date)
{
return calcJulianDate(date) - 2400000;
return calcJulianDate(date) - doubleReducedJulianDateCoefficient;
}

public static double calcTruncatedJulianDate()
{
return Math.Floor(calcJulianDate() - 2440000.5);
return Math.Floor(calcJulianDate() - doubleTruncatedJulianDateCoefficient);
}

public static double calcTruncatedJulianDate(DateTime date)
{
return Math.Floor(calcJulianDate(date) - 2440000.5);
return Math.Floor(calcJulianDate(date) - doubleTruncatedJulianDateCoefficient);
}

public static double calcDublinJulianDate()
{
return calcJulianDate() - 2415020;
return calcJulianDate() - doubleDublinJulianDateCoefficient;
}

public static double calcDublinJulianDate(DateTime date)
{
return calcJulianDate(date) - 2415020;
return calcJulianDate(date) - doubleDublinJulianDateCoefficient;
}

public static double calcCnesJulianDate()
{
return calcJulianDate() - 2433282.5;
return calcJulianDate() - doubleCnesJulianDateCoefficient;
}

public static double calcCnesJulianDate(DateTime date)
{
return calcJulianDate(date) - 2433282.5;
return calcJulianDate(date) - doubleCnesJulianDateCoefficient;
}

public static double calcCcsdsJulianDate()
{
return calcJulianDate() - 2436204.5;
return calcJulianDate() - doubleCcsdsJulianDateCoefficient;
}

public static double calcCcsdsJulianDate(DateTime date)
{
return calcJulianDate(date) - 2436204.5;
return calcJulianDate(date) - doubleCcsdsJulianDateCoefficient;
}

public static double calcLopJulianDate()
{
return calcJulianDate() - 2448622.5;
return calcJulianDate() - doubleLopJulianDateCoefficient;
}

public static double calcLopJulianDate(DateTime date)
{
return calcJulianDate(date) - 2448622.5;
return calcJulianDate(date) - doubleLopJulianDateCoefficient;
}

public static double calcMilleniumJulianDate()
public static double calcMillenniumJulianDate()
{
return calcJulianDate() - 2451544.5;
return calcJulianDate() - doubleMillenniumJulianDateCoefficient;
}

public static double calcMilleniumJulianDate(DateTime date)
public static double calcMillenniumJulianDate(DateTime date)
{
return calcJulianDate(date) - 2451544.5;
return calcJulianDate(date) - doubleMillenniumJulianDateCoefficient;
}

public static double calcChronologicalJulianDate()
{
TimeZone zone = TimeZone.CurrentTimeZone;
DaylightTime time = zone.GetDaylightChanges(DateTime.Today.Year);
//System.Windows.Forms.MessageBox.Show((time.Delta.Hours * (24 / 100)).ToString());
//double a = time.Delta.Hours / 24.0;
return calcJulianDate() + 0.5 + (time.Delta.Hours / 24.0);
}

public static double calcChronologicalJulianDate(DateTime date)
{
TimeZone zone = TimeZone.CurrentTimeZone;
DaylightTime time = zone.GetDaylightChanges(DateTime.Today.Year);
return calcJulianDate(date) + 0.5 + (time.Delta.Hours / 24.0);
}

public static double calcChronologicalModifiedJulianDate()
{
TimeZone zone = TimeZone.CurrentTimeZone;
DaylightTime time = zone.GetDaylightChanges(DateTime.Today.Year);
//System.Windows.Forms.MessageBox.Show((time.Delta.Hours * (24 / 100)).ToString());
//double a = time.Delta.Hours / 24.0;
return calcJulianDate() - doubleModifiedJulianDateCoefficient + 0.5 + (time.Delta.Hours / 24.0);
}

public static double calcChronologicalModifiedJulianDate(DateTime date)
{
TimeZone zone = TimeZone.CurrentTimeZone;
DaylightTime time = zone.GetDaylightChanges(DateTime.Today.Year);
return calcJulianDate(date) - doubleModifiedJulianDateCoefficient + 0.5 + (time.Delta.Hours / 24.0);
}

public static double calcLilianDate()
{
return Math.Floor(calcJulianDate() - doubleLilianDateCoefficient);
}

public static double calcLilianDate(DateTime date)
{
return Math.Floor(calcJulianDate(date) - doubleLilianDateCoefficient);
}

public static double calcRataDie()
{
return Math.Floor(calcJulianDate() - doubleRataDieCoefficient);
}

public static double calcRataDie(DateTime date)
{
return Math.Floor(calcJulianDate(date) - doubleRataDieCoefficient);
}

public static double calcMarsSolDate()
{
return (calcJulianDate() - doubleMarsSolDateCoefficient) / doubleRatioRotationAxisEarthMars;
}
}

public static double calcMarsSolDate(DateTime date)
{
return (calcJulianDate(date) - doubleMarsSolDateCoefficient) / doubleRatioRotationAxisEarthMars;
}

public static double calcUnixtime()
{
return (calcJulianDate() - doubleUnixtimeCoefficient) * intSecondsOfDay;
}

public static double calcUnixtimeDate(DateTime date)
{
return (calcJulianDate(date) - doubleUnixtimeCoefficient) * intSecondsOfDay;
}
}

0 comments on commit 2458748

Please sign in to comment.