If I understand you correctly, you wish to include any time before 07:45 am with the previous day's data. If that is the case, just subtract 7 hours and 45 minutes from each date time and find its date.
Suppose we have data like this:
df <- data.frame(Time = as.POSIXct(c("2020-08-20 07:45:00",
"2020-08-20 08:45:00",
"2020-08-20 09:45:00",
"2020-08-20 15:45:00",
"2020-08-20 21:45:00",
"2020-08-21 05:45:00",
"2020-08-21 07:45:00",
"2020-08-21 21:45:00",
"2020-08-22 06:45:00",
"2020-08-22 08:45:00")), Value = 1:10)
df
#> Time Value
#> 1 2020-08-20 07:45:00 1
#> 2 2020-08-20 08:45:00 2
#> 3 2020-08-20 09:45:00 3
#> 4 2020-08-20 15:45:00 4
#> 5 2020-08-20 21:45:00 5
#> 6 2020-08-21 05:45:00 6
#> 7 2020-08-21 07:45:00 7
#> 8 2020-08-21 21:45:00 8
#> 9 2020-08-22 06:45:00 9
#> 10 2020-08-22 08:45:00 10
Then we can just do:
library(lubridate)
df$Date <- date(df$Time - hours(7) - minutes(45))
And we will have our data grouped appropriately:
df
#> Time Value Date
#> 1 2020-08-20 07:45:00 1 2020-08-20
#> 2 2020-08-20 08:45:00 2 2020-08-20
#> 3 2020-08-20 09:45:00 3 2020-08-20
#> 4 2020-08-20 15:45:00 4 2020-08-20
#> 5 2020-08-20 21:45:00 5 2020-08-20
#> 6 2020-08-21 05:45:00 6 2020-08-20
#> 7 2020-08-21 07:45:00 7 2020-08-21
#> 8 2020-08-21 21:45:00 8 2020-08-21
#> 9 2020-08-22 06:45:00 9 2020-08-21
#> 10 2020-08-22 08:45:00 10 2020-08-22
Created on 2020-08-20 by the reprex package (v0.3.0)