我正在英国开发代码,我正在格式化一个在英国可以正常工作的日期字段,当我将代码部署到美国的服务器上时,日期的年份错误了一年。这是代码
public static void main(String args[]) {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
String dateStr = sdf.format(1293840000000L);
System.out.println(dateStr);
}
在英国本地的 Windows 机器上,此代码正确输出:
2011-01-01T00:00:00Z
在美国的服务器上的 linux 机器上,相同的代码输出
2010-12-31T18:00:00Z
一定是某种时区问题?