Purely in the realm of possibility, this is possible to do to an extent, as for the most part you only have to record a few key properties from actors over time (once a second for example), so you're able to either change them back or respawn them and set those properties.
However, you cannot do it for 100% of the things, because this would imply to save the entire game state once per second, something which I only imagine to be possible at all at the native level, and even then with quite some work.
And even if you could, it would be highly inefficient, since this would translate to be using almost as much memory for each state as for the entirety of the game for every second (not quite as much of course, but it would be the worst case scenario).
In order for this to be efficient, it would need to be done in a similar way on how demo recording works, or even replication (both of which follow the same rules, apparently), and just record event calls and changed properties over time, and simulate a lot of the stuff like physics (instead of saving each location).
However, this is not very easy to do unless the engine is exceptionally well crafted in this regard, which doesn't seem to be the case even in UE4, given that Fortnite has a replay feature which seems to work in pretty much the same way UT demo recording works in UE1 (just a bit better), and it has quite some problems, especially when you select a random point in time (like the day-night cycle being messed up at times).
In practice, what I actually mean with all of this is that, you have to pick and choose on what exactly you want this feature to work on.
If it's the players only, it's very easy, if it includes things like projectiles, is slightly more complicated especially since projectiles can have very different behaviors and may cause issues if tempered with, unless you create a Projectile class and make the game use your own projectiles for everything.
Furthermore, on the subject of playing with time, I have actually been thinking, for several years already, in implementing "something", like a time bomb, which would slow down time for everyone by you and your teammates.
This could achieved by making the player faster in the same proportion the time got slower, theoretically anyway.