[R] How to parse a really silly date with lubridate

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Wed Jul 13 16:48:03 CEST 2022


Hello,

With lubridate, note in what sequence your datetime elements occur and 
use the appropriate function.


d <- c('9. Jul 2022 at 11:39', '10. Jul 2022 at 01:58')
lubridate::dmy_hm(d)
#> [1] "2022-07-09 11:39:00 UTC" "2022-07-10 01:58:00 UTC"


Hope this helps,

Rui Barradas

Às 14:40 de 13/07/2022, Dr Eberhard Lisse escreveu:
> 
> Hi,
> 
> I have data file which generated by an otherwise very nice (diabetes
> log) app, but exports dates really silly.
> 
> After reading the enclosed mwe.csv into R like so
> 
>       MWE <- read_delim('mwe.csv', delim = ';') %>%
>          select(Date) %>%
>          print()
> 
> 
> this comes out as:
> 
>       # A tibble: 2 × 1
>      Date
>      <chr>
>       1 9. Jul 2022 at 11:39
>       2 10. Jul 2022 at 01:58
> 
> 
> No matter what I try I am not able to parse this inside R to get at
> proper dates (I have loaded tidyverse and lubridate).
> 
> I can easily do somethig
> 
>       csvq  -d ';' -t '%e. %b %Y at %H:%i' \
>          'SELECT Date as oridate,
>              DATETIME_FORMAT(Date, "%Y-%m-%d %H:%m") AS date
>          FROM mwe'
> 
>       +-----------------------+------------------+
>       |        oridate        |       date       |
>       +-----------------------+------------------+
>       | 9. Jul 2022 at 11:39  | 2022-07-09 11:07 |
>       | 10. Jul 2022 at 01:58 | 2022-07-10 01:07 |
>       +-----------------------+------------------+
> 
> and hence could easily do something like
> 
>       csvq  -d ';' -t '%e. %b %Y at %H:%i' \
>        'ALTER mwe
>        SET Date = DATETIME_FORMAT(Date, "%Y-%m-%d %H:%m")'
> 
> but would rather like to be able to do it inside R and would therefor
> appreciate any advice in this regard.
> 
> 
> greetings, el
>



More information about the R-help mailing list