以下Java测试通过了我们在美国托管的构建服务器上的测试。它还会在非美国服务器上传递,例如在德国。它在我在爱尔兰运行的本地服务器上失败。以下代码说明了测试失败。

org.junit.ComparisonFailure: expected:<[4/6/09 11:30 AM]> but was:<[06/04/09 11:30]>

我是否可以提供系统设置以使这些测试在本地通过?
public void testFormattedDate() {
// Set the default time zone in case this unit test is executed in a different country
TimeZone.setDefault(TimeZone.getTimeZone(DateUtil.DEFAULT_TIMEZONE));
final Date utilDate = new Date();
utilDate.setDate(6);
utilDate.setHours(11);
utilDate.setMinutes(30);
utilDate.setMonth(3);
utilDate.setSeconds(45);
utilDate.setYear(109);

SimpleDateFormat dateFormatter = new SimpleDateFormat();
final String formattedOutput = dateFormatter.format(utilDate);

Assert.assertEquals("4/6/09 11:30 AM", formattedOutput);
}

最佳答案

必须尝试为SimpleDateFormat提供模式吗?
SimpleDateFormat dateFormatter = new SimpleDateFormat("d/M/yy HH:mm a");

07-26 03:22