time_point_cast {clock}  R Documentation 
Casting is one way to change a time point's precision.
Casting to a less precise precision will completely drop information that
is more precise than the precision that you are casting to. It does so
in a way that makes it round towards zero. When converting time points
to a less precise precision, you often want time_point_floor()
instead
of time_point_cast()
, as that handles pre1970 dates (which are
stored as negative durations) in a more intuitive manner.
Casting to a more precise precision is done through a multiplication by a conversion factor between the current precision and the new precision.
time_point_cast(x, precision)
x 
A systime or naivetime. 
precision 
A time point precision. One of:

x
cast to the new precision
.
# Hour precision time points
# One is pre1970, one is post1970
x < duration_hours(c(25, 25))
x < as_naive_time(x)
x
# Casting rounds the underlying duration towards 0
cast < time_point_cast(x, "day")
cast
# Flooring rounds the underlying duration towards negative infinity,
# which is often more intuitive for time points.
# Note that the cast ends up rounding the pre1970 date up to the next
# day, while the post1970 date is rounded down.
floor < time_point_floor(x, "day")
floor
# Casting to a more precise precision, hour>millisecond
time_point_cast(x, "millisecond")