Jest has pretty robust time mocking, it's a breeze to do time related testing if you're writing JS/TS: https://jestjs.io/docs/jest-object#fake-timers
This would correspond to option 3 in the blog post, except instead of clock factory you redefine individual methods.