Dirk is correct. However, if you are intent on using lubridate functions:
paste( year(dt), month(dt), mday(dt), hour(dt) sep="-")
If on the other hand you want to handle the POSIXct
objects the way they were supposed to be used then this should satisfy:
format(x, format="%Y-%m-%d-%H")