You were almost there This is a possible solution for you. You needed to format the data using lubridate
before filtering the data.
# load library
library(dplyr)
# create data
x = data.frame(da = c("2019-10-04 07:05:02","2019-10-04 07:05:03","2019-10-04 07:05:02","2019-10-04 07:05:03","2019-10-04 07:05:04"),
db = c("a","a","c","a","a"), stringsAsFactors = F)
# convert to date time format
x$da = lubridate::ymd_hms(x$da)
# see the structure of data
str(x)
# filter the data
x %>% filter(da <= lubridate::ymd_hms('2019-10-04 07:05:02') & db == 'a' )
# da db
#1 2019-10-04 07:05:02 a
Your data
# Data
x = structure(list(da = structure(c(1464993345, 1464993346, 1464993345, 1464993346), class = c("POSIXct", "POSIXt"), tzone = ""), cat = structure(1:4, .Label = c("A", "B", "C", "D"), class = "factor")), class = "data.frame", row.names = c(NA, -4L))
# convert to date time format
x$da = lubridate::ymd_hms(x$da)
# see the structure of data
str(x)
# filter the data
x %>% filter(da <= lubridate::ymd_hms('2016-06-03 15:35:45') & cat == 'A' )
# da cat
#1 2016-06-03 15:35:45 A