如何使Java指向系统日期/时间以外的其他(自定义)日期/时间?

时间:2016-04-28 23:34:27

标签: java websphere systemtime

我在我的工作中有这个场景,我需要用JAVA运行我的java应用程序,以便相信日期/时间是在未来的某个地方。团队一直在这样做我改变系统时间并重新启动WebSphere Application Sever以反映所需的日期/时间。 但是,我觉得这是一个很好的方式来做这个"时间旅行"。我一直在搜索,发现有一种方法可以在启动时使用" Duser.timezone = GMT"来设置服务器的TimeZone。在JVM参数中。无论如何,除了更改我的系统日期/时间之外,我的工作站上的Java是否指向自定义日期/时间?

2 个答案:

答案 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

甚至可能有更多方法我没想到...