In our scheduler application, we are using quartz scheduler with Spring Boot scheduler which reads System.currentTimeMillis().
Spring boot version is 1.3.5.
We are able to test scenarios like weekly, monthly, yearly by creating cron expression w.r.t current date time. And we are trying to simulate some situation where we will change the current system time for future and simulate few scenarios.
I know quartz scheduler is well tested and no need to test how it will behave in future. Still, if someone has implemented/tested with similar approach, and can share knowledge it will be a great help.