英文语言环境下,new Date()时间错误
在英文环境下工作,系统语言设置为英文,用最简单的方式获取系统时间错误
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdf.format(new Date()));
猜测是JVM时区设置有问题
打印所有系统参数
Properties pro=System.getProperties();
for(Iterator it=pro.entrySet().iterator();it.hasNext();){
Map.Entry entry=(Map.Entry)it.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
发现user.timezone:
添加run arguments如下
显示时间正常,在命令行下运行
java -Duser.timezone="Asia/Shanghai" TimeTest