[R] julian

Rolf Turner rolf at math.unb.ca
Sat May 14 14:23:24 CEST 2005


I have a problem wherein I need to convert back and forth from
dates of the form "2000-04-11" to Julian dates.  After some
experimentation I found that

	> z <- strptime("2000-62",format="%Y-%j")
	> z

gave me "2000-03-02" --- i.e. March 2 which is as it should be
according to my (not too reliable) arithmetic.

Going the other direction, more experimentation led me to

	> julian(z,origin=as.POSIXct("1999-12-31"))

which gives

Time difference of 62 days

and I thought that I had a working (if not fully comprehended)
syntax.  My illusions were shattered when I tried another Julian
date, 102:

	> z <- strptime("2000-102",format="%Y-%j")
        > z

gives "2000-04-11" --- i.e. April 11, which checks with what I think
it should be.  But reversing the direction:

	> julian(z,origin=as.POSIXct("1999-12-31"))

gives

Time difference of 101.9583 days

Where did the missing 0.0417 days go to?

What syntax should I really be using?

Thanks.

					cheers,

						Rolf Turner

P. S. I'm still on R version 2.0.1 (Linux) if that's of any relevance.

						R. T.




More information about the R-help mailing list