[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Progress with time




tom

one thing you have to watch . . . .  a new day and date starts with utc
time of a second after or upon the strike of 0000 . . . the julian day
starts at noon  . .  that is a half day, according to my statistical
analysis,  . .  doug can check my math please :]]]]

jamie



On Sun, 11 Mar 2001, Tom Droege wrote:

> Below is the algorithm that Cary sent me.  If I crank in the data, and use 
> the mjd formula,
> then I come out 1/2 day off by some dates the Jure sent me:
> 
> 2001-03-11 at 0 UT should come out 2451979.5
> 2000-01-01 at 12:00 should be 2451545
> 
> To match these two dates, I have to add .5 to the formula below.  Can 
> anyone check this?
> 
> Note I am putting in the 4 digit year and month without adding the one as 
> indicated in the code below.
> 
> Tom Droege
> 
> 
> Here's that code I was talking about...
> This is the straight up C code listing....
> /***********************************************************/
> * juldate calculates jd and mjd */
> /***********************************************************/
> void juldate()
> {
> float j1,j2,j4,j5; *** Variable Declarations and Initialzations***
> year =local->tm_year+1900; *** Variable Declarations and
> Initialzations***
> month =local->tm_mon+1; *** Variable Declarations and
> Initialzations***
> day =local->tm_mday; *** Variable Declarations and Initialzations***
> hour =local->tm_hour; *** Variable Declarations and Initialzations***
> min =local->tm_min; *** Variable Declarations and Initialzations***
> tsec =local->tm_sec; *** Variable Declarations and Initialzations***
> sec = (float)tsec + ((float)imilsec / 1000.); *** Variable Declarations
> and Initialzations***
> j1=-678987.0+(367*year);
> j2=(int)(275*month/9);
> j4=-(int)(7*(year+((month+9)/12))/4);
> j5=(j1+(j2+day+j4));
> lastfive=j5;
> mjd=-678987.0+367.0*year+(int)((int)(275*month/9)+day-(int)(7*(year+(int)((m 
> onth+9)/12))/4))+(hour*3600.0+min*60.0+sec)*1.15740741E-5;
> juliandate=(j5+2400000.5);
> return;
> }
> 
> 
>