Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract time (HMS) from lubridate date time object?

Tags:

date

r

lubridate

I have the following datetime:

t <- "2018-05-01 23:02:50 UTC"

I want to split it to time and date.

When I apply date(t) I get the date part. But when I use lubridate's hms, parse_date_time and other functions to do this in "HMS" order I get NA.

I have checked other answers here on SOF but for some reason it gives me NA.

Please advise how to extract it.

I want to understand why:

strftime(t, format="%H:%M:%S") 

will do the job but what I am missing in lubridate::hms or parse_date_time?

like image 969
SteveS Avatar asked Jun 07 '18 08:06

SteveS


1 Answers

Is this what you were looking for? It can now be done more simply with hms::as_hms.

> library(lubridate)
> library(hms)
> as_hms(ymd_hms("2018-05-01 23:02:50 UTC"))
23:02:50

> t <- "2018-05-01 23:02:50 UTC"
> as_hms(ymd_hms(t))
23:02:50
like image 134
Susie Derkins Avatar answered Sep 27 '22 19:09

Susie Derkins