Dear Jeff, Thank you very much for looking into this. I have made some search on ?OlsonNames. System time zones indicates Africa/Lagos whereas the data I am trying to convert are Cosmic ray data prepared at different time zones including Oulu station (Russia), Climax station (America), many parts of Europe, etc.
Including: Sys.timezone() str(OlsonNames()) in my code gives: [1] "1998-01-05 02:00:00 WAT" "1998-01-05 03:00:00 WAT" [3] "1998-01-05 04:00:00 WAT" "1998-01-05 05:00:00 WAT" [5] "1998-01-05 06:00:00 WAT" "1998-01-05 07:00:00 WAT" [7] "1998-01-05 08:00:00 WAT" "1998-01-05 09:00:00 WAT" [9] "1998-01-05 10:00:00 WAT" "1998-01-05 11:00:00 WAT" [11] "1998-01-05 12:00:00 WAT" "1998-01-05 13:00:00 WAT" [13] "1998-01-05 14:00:00 WAT" "1998-01-05 15:00:00 WAT" [15] "1998-01-05 16:00:00 WAT" "1998-01-05 17:00:00 WAT" [17] "1998-01-05 18:00:00 WAT" "1998-01-05 19:00:00 WAT" [19] "1998-01-05 20:00:00 WAT" "1998-01-05 21:00:00 WAT" [21] "1998-01-05 22:00:00 WAT" "1998-01-05 23:00:00 WAT" [23] "1998-01-06 00:00:00 WAT" "1998-01-06 01:00:00 WAT" [25] "1998-01-06 02:00:00 WAT" "1998-01-06 03:00:00 WAT" [27] "1998-01-06 04:00:00 WAT" "1998-01-06 05:00:00 WAT" [29] "1998-01-06 06:00:00 WAT" Replacing the two lines above with: Sys.setenv( TZ="" ) gives: [1] "1998-01-05 02:00:00 UTC" "1998-01-05 03:00:00 UTC" [3] "1998-01-05 04:00:00 UTC" "1998-01-05 05:00:00 UTC" [5] "1998-01-05 06:00:00 UTC" "1998-01-05 07:00:00 UTC" [7] "1998-01-05 08:00:00 UTC" "1998-01-05 09:00:00 UTC" [9] "1998-01-05 10:00:00 UTC" "1998-01-05 11:00:00 UTC" [11] "1998-01-05 12:00:00 UTC" "1998-01-05 13:00:00 UTC" [13] "1998-01-05 14:00:00 UTC" "1998-01-05 15:00:00 UTC" [15] "1998-01-05 16:00:00 UTC" "1998-01-05 17:00:00 UTC" [17] "1998-01-05 18:00:00 UTC" "1998-01-05 19:00:00 UTC" [19] "1998-01-05 20:00:00 UTC" "1998-01-05 21:00:00 UTC" [21] "1998-01-05 22:00:00 UTC" "1998-01-05 23:00:00 UTC" [23] "1998-01-06 00:00:00 UTC" "1998-01-06 01:00:00 UTC" [25] "1998-01-06 02:00:00 UTC" "1998-01-06 03:00:00 UTC" [27] "1998-01-06 04:00:00 UTC" "1998-01-06 05:00:00 UTC" [29] "1998-01-06 06:00:00 UTC" All these are still not correct and I am yet longing for further help. Best regards Ogbos On Wed, Jan 8, 2020 at 4:22 PM Jeff Newmiller <jdnew...@dcn.davis.ca.us> wrote: > > In your first email you said you were using > > Sys.setenv( TZ="GMT" ) > > in your code, which defines the default assumption for time conversion > timezone (at least until you change it). Keep in mind that you may be dealing > with data from other timezones than your local one that the operating system > uses, so the OS timezone only gets used if TZ is blank (and even that > behavior can be OS-dependent I think). > > Read > > ?OlsonNames > > because AEST may not be a valid specification for TZ. > > On January 8, 2020 4:09:01 AM PST, Ogbos Okike <giftedlife2...@gmail.com> > wrote: > >Dear Jim, > >In order to check whether I have a correct time on my system, I run: > >$ timedatectl > > > > and it gives: > >Local time: Wed 2020-01-08 13:03:44 WAT > > Universal time: Wed 2020-01-08 12:03:44 UTC > > RTC time: Wed 2020-01-08 12:03:44 > > Time zone: Africa/Lagos (WAT, +0100) > > System clock synchronized: yes > >systemd-timesyncd.service active: yes > > RTC in local TZ: no. > > > >The time is correct as it agrees with the system time. > > > >I don't know if there are other things I need to change. > > > >Thank you for any suggestions. > >Ogbos > > > >On Wed, Jan 8, 2020 at 12:55 PM Ogbos Okike <giftedlife2...@gmail.com> > >wrote: > >> > >> Dear Jim, > >> Thank you for coming my assist me. > >> I have tried all you suggested but the same result keep coming. > >> I tried, for example: > >> dta <- read.table("Ohr1may98", col.names = c("year", "month", "day", > >> "hour", "counts")) > >> > >> dta$year <- with( dta, ifelse(year < 50, year + 2000, year + 1900)) > >> dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour), > >> "%Y %m %d %H") > >> a = dta$date > >> and obtained: > >> > a > >> [1] "1998-01-05 14:00:00 GMT" "1998-01-05 15:00:00 GMT" > >> [3] "1998-01-05 16:00:00 GMT" "1998-01-05 17:00:00 GMT" > >> [5] "1998-01-05 18:00:00 GMT" "1998-01-05 19:00:00 GMT" > >> [7] "1998-01-05 20:00:00 GMT" "1998-01-05 21:00:00 GMT" > >> [9] "1998-01-05 22:00:00 GMT" "1998-01-05 23:00:00 GMT" > >> [11] "1998-01-06 00:00:00 GMT" "1998-01-06 01:00:00 GMT" > >> [13] "1998-01-06 02:00:00 GMT" "1998-01-06 03:00:00 GMT" > >> [15] "1998-01-06 04:00:00 GMT" "1998-01-06 05:00:00 GMT" > >> [17] "1998-01-06 06:00:00 GMT" > >> > >> Instead of getting AEST as in your own result, mine remains GMT. > >> > >> I think the problem is coming from my system or location, I am not > >sure. > >> > >> Please have a look again and advise further. > >> > >> Thank you. > >> > >> On Wed, Jan 8, 2020 at 11:05 AM Jim Lemon <drjimle...@gmail.com> > >wrote: > >> > > >> > Hi again, > >> > Small typo, should be > >> > > >> > dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour), > >> > "%Y %m %d %H" > >> > > >> > as I tried it both with and without the century just to check and > >> > copied the wrong line. > >> > > >> > On Wed, Jan 8, 2020 at 9:03 PM Jim Lemon <drjimle...@gmail.com> > >wrote: > >> > > > >> > > Hi Ogbos, > >> > > I get the correct result using strptime: > >> > > > >> > > dta$date<-strptime(paste(dta$year,dta$month,dta$day,dta$hour), > >> > > "%y %m %d %H" > >> > > ) > >> > > > dta$date > >> > > [1] "1998-05-01 02:00:00 AEST" "1998-05-01 03:00:00 AEST" > >> > > [3] "1998-05-01 04:00:00 AEST" "1998-05-01 05:00:00 AEST" > >> > > [5] "1998-05-01 06:00:00 AEST" "1998-05-01 07:00:00 AEST" > >> > > [7] "1998-05-01 08:00:00 AEST" "1998-05-01 09:00:00 AEST" > >> > > [9] "1998-05-01 10:00:00 AEST" "1998-05-01 11:00:00 AEST" > >> > > [11] "1998-05-01 12:00:00 AEST" "1998-05-01 13:00:00 AEST" > >> > > [13] "1998-05-01 14:00:00 AEST" "1998-05-01 15:00:00 AEST" > >> > > [15] "1998-05-01 16:00:00 AEST" "1998-05-01 17:00:00 AEST" > >> > > [17] "1998-05-01 18:00:00 AEST" "1998-05-01 19:00:00 AEST" > >> > > [19] "1998-05-01 20:00:00 AEST" "1998-05-01 21:00:00 AEST" > >> > > [21] "1998-05-01 22:00:00 AEST" "1998-05-01 23:00:00 AEST" > >> > > [23] "1998-05-02 00:00:00 AEST" "1998-05-02 01:00:00 AEST" > >> > > [25] "1998-05-02 02:00:00 AEST" "1998-05-02 03:00:00 AEST" > >> > > [27] "1998-05-02 04:00:00 AEST" "1998-05-02 05:00:00 AEST" > >> > > [29] "1998-05-02 06:00:00 AEST" > >> > > > >> > > Same result with > >> > > > >> > > ISOdatetime(dta$year,dta$month,dta$day,dta$hour,0,0,tz="GMT") > >> > > > >as.POSIXct(ISOdatetime(dta$year,dta$month,dta$day,dta$hour,0,0,tz="GMT")) > >> > > > >> > > As it should be as the lower two call strptime. I can't see from > >your > >> > > code why the month and day are transcribed. > >> > > > >> > > Jim > > > >______________________________________________ > >R-help@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. > > -- > Sent from my phone. Please excuse my brevity. ______________________________________________ R-help@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.