[R] Convert Long DOY time format to yyyymmdd hh format

peter dalgaard pd@|gd @end|ng |rom gm@||@com
Thu Jan 23 11:01:13 CET 2020


Jim's (and Petr's) solution wins....

-pd

> On 23 Jan 2020, at 10:56 , peter dalgaard <pdalgd using gmail.com> wrote:
> 
> Here's an idea:
> 
>> as.POSIXct(paste0("1963","-1-1"))+as.difftime(335,units="days") + as.difftime(3, units="hours")
> [1] "1963-12-02 03:00:00 CET"
> 
> However, 2 caveats
> 
> (a) I think you need to subtract 1 from the DOY (1 should be Jan 1, right?)
> (b) Beware Daylight Savings time:
> 
>> as.POSIXct(paste0("2019","-1-1"))+as.difftime(160,units="days") + as.difftime(3, units="hours")
> [1] "2019-06-10 04:00:00 CEST"
> 
> This can be worked around as follows:
> 
>> tt <- as.POSIXct(paste0("2019","-1-1"))+as.difftime(160,units="days")
>> ttl <- as.POSIXlt(tt)
>> ttl$hour=0
>> ttl + as.difftime(3, units="hours")
> [1] "2019-06-10 03:00:00 CEST"
> 
> ISOdate() and ISOdatetime() can also be used, again beware of time zones and DST. Also, ISOdate gives 12:00 GMT, whereas the POSIX stuff gives 0:00.
> 
> -pd
> 
>> On 23 Jan 2020, at 10:24 , Ogbos Okike <giftedlife2014 using gmail.com> wrote:
>> 
>> Dear Experts,
>> I have a data spanning 56 years from 1963 to 2018.
>> The datetime format is in DOY hour:
>> 1963 335 0
>> 1963 335 1
>> 1963 335 2
>> 1963 335 3
>> 1963 335 4
>> 1963 335 5
>> 1963 335 6
>> 1963 335 7
>> 1963 335 8
>> 1963 335 9
>> 1996 202 20
>> 1996 202 21
>> 1996 202 22
>> 1996 202 23
>> 1996 203 0
>> 1996 203 1
>> 1996 203 2
>> 1996 203 3
>> 2018 365 20
>> 2018 365 21
>> 2018 365 22
>> 2018 365 23
>> When I used:
>> as.Date(335,origin="1963-01-01"), for the first row, I got:
>> [1] "1963-12-02"
>> This is the format I want, though it is not yet complete. Time is missing.
>> 
>> Again, I can't be doing this one after the other. I guess you have a
>> better way of handling this. I have spent some time trying to get it
>> right but I am really stuck. I would be most glad if you could spare
>> your busy time to help me again.
>> 
>> Thank you very much for your usual kind assistance.
>> 
>> Best regards
>> Ogbos
>> 
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> 
> -- 
> Peter Dalgaard, Professor,
> Center for Statistics, Copenhagen Business School
> Solbjerg Plads 3, 2000 Frederiksberg, Denmark
> Phone: (+45)38153501
> Office: A 4.23
> Email: pd.mes using cbs.dk  Priv: PDalgd using gmail.com
> 
> 
> 
> 
> 
> 
> 
> 
> 

-- 
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Office: A 4.23
Email: pd.mes using cbs.dk  Priv: PDalgd using gmail.com



More information about the R-help mailing list