Hi,

while all of the below work in a character vector, none works in
the tibble.

The following

        DDATA %>%
                add_column(as.tibble(lubridate::dmy_hm(DDATA$Date)),
                        .before = "Period") %>%
                rename(NewDate=value) %>%
                select(Date,NewDate) %>%
                filter(between(as.Date(NewDate),as.Date('2022-07-09'),
                        as.Date('2022-07-10')))

does work

        # A tibble: 3 × 2
          Date                  NewDate
          <chr>                 <dttm>
        1 9. Jul 2022 at 11:39  2022-07-09 11:39:00
        2 10. Jul 2022 at 01:58 2022-07-10 01:58:00
        3 10. Jul 2022 at 11:26 2022-07-10 11:26:00

but I wonder if that can not be done more elegantly, ie by direct
replacements in the column.

greetings, el

On 2022-07-13 16:48 , Rui Barradas wrote:
[...]
> 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"
[...]

On 2022-07-13 16:03 , Ben Tupper wrote:
[...]
> s = c("9. Jul 2022 at 11:39", "10. Jul 2022 at 01:58")
> as.POSIXct(s, format = "%d. %b %Y at %H:%M")
> as.POSIXct(s, format = "%d. %b %Y at %H:%M", tz = "UTC")
[...]

On 2022-07-13 15:52 , Ivan Krylov wrote:
[...]
> Sys.setlocale('LC_TIME', 'C')
> strptime(
>   c('9. Jul 2022 at 11:39', '10. Jul 2022 at 01:58'),
>   '%d. %b %Y at %H:%M'
> )
[...]


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

______________________________________________
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.

Reply via email to