我在我的工作中有这个场景,我需要用JAVA运行我的java应用程序,以便相信日期/时间是在未来的某个地方。团队一直在这样做我改变系统时间并重新启动WebSphere Application Sever以反映所需的日期/时间。 但是,我觉得这是一个很好的方式来做这个"时间旅行"。我一直在搜索,发现有一种方法可以在启动时使用" Duser.timezone = GMT"来设置服务器的TimeZone。在JVM参数中。无论如何,除了更改我的系统日期/时间之外,我的工作站上的Java是否指向自定义日期/时间?
答案 0 :(得分:1)
最佳做法是不要弄乱系统时钟。您应该对代码进行一些重构。例如,要使您的方法使用Clock.getInstance()
(System.currentTimeMillis()
- > Clock.getInstance().currentTimeMillis()
/ myClockInstance.currentTimeMillis()
)。
答案 1 :(得分:0)
实际上你可以尝试一些混乱的方法:
1)只需编写自己的java.util.Date类,并希望它在JVM之前加载。
2)调整ClassLoader或编写一个自定义的,尝试特别注意java.util.Date
3)您也可以考虑使用不同的日历。
4)做Mateusz Stefaniak指出的事情
5)操纵原始Java jar
甚至可能有更多方法我没想到...