Re: [R] julian

From: Peter Dalgaard <p.dalgaard_at_biostat.ku.dk>
Date: Sat 14 May 2005 - 22:44:07 EST

Rolf Turner <rolf@math.unb.ca> writes:

> 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?

Into the daylight savings account, I guess.  

> What syntax should I really be using?

It's not the syntax as much as the timezone. But what has as.Date done wrong, since you seem set on ignoring it?

> as.Date(z) - as.Date("1999-12-31")

Time difference of 102 days

-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk)             FAX: (+45) 35327907

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Received on Sat May 14 22:49:43 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:46 EST