我用System.currentTimeMillis()获得系统当前时间,如下代码:
Date time = new Date(System.currentTimeMillis());
SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sysTime = sdFormatter.format(time);
打印的时间与实际时间相差了8个小时,后来查到我在获取时间的时候没有指定时区,于是设置了一下,就解决了问题。代码如下:
Date time = new Date(System.currentTimeMillis());
SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone zone = TimeZone.getTimeZone("Asia/Shanghai");
sdFormatter.setTimeZone(zone);
String sysTime = sdFormatter.format(time);