This question already has answers here:
How can I set the System Time in Java?
                                
                                    (8个答案)
                                
                        
                                已关闭6年。
            
                    
我需要在测试中的特定日期设置系统时钟。这样,我必须在测试中模拟该日期发生的行为。我发现这篇文章http://www.javapractices.com/topic/TopicAction.do?Id=234

但这并没有给您太多提示如何设置假系统时钟,例如2.5.2013。

请帮我。

最佳答案

假设您需要操纵测试时间而不真正改变系统时钟...考虑使用Joda-Time,它具有以下功能:

// always return the same time when querying current time
DateTimeUtils.setCurrentMillisFixed(millis);

// then test
assert new DateTime().getMillis() == millis;

// reset time
DateTimeUtils.setCurrentMillisSystem()


但是,您必须权衡使用Joda-Time和自己实施解决方案之间的权衡!

关于java - 假系统时钟在某些日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15200705/

10-10 09:05