java - 日期格式问题

标签 java date timezone format

以下 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");

关于java - 日期格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683998/

相关文章:

php - 为什么 php 时间戳会这样? 1985 年 11 月 3 日

java - 如何从jar中排除包?

java - 关于 java GUI 和清除 JFrame 以显示新内容?

java - 比较两个相似的 xml 文件时 JUnit 测试失败

regex - 这个 (mm-dd-yyyy) 正则表达式有什么问题?

php - 获取特定时区的 PHP 中的当前日期时间

javascript - 如何将 Postgresql timestamptz 转换为 Javascript 日期?

java - 如何更新 Logback 中 SMTPAppender 上的 "to"地址?

php - 将自定义西类牙日期时间格式转换为 MySQL 时间戳而不截断

java - 新的 java.sql.Date(0) 不对应于 00 :00:00 1 January 1970