[R] Incorrect Conversion of Datetime

Ogbos Okike g||ted|||e2014 @end|ng |rom gm@||@com
Wed Jan 8 13:09:01 CET 2020


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 <giftedlife2014 using 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 <drjimlemon using 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 <drjimlemon using 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



More information about the R-help mailing list