问题 获取当前系统时间,没有设置时区,是yyyy-MM-dd HH:mm:ss的字符串格式保存在文件中,
偶尔会出现比当前系统时间早八个小时
注意:取时间最好的方式是去时间戳(就是毫秒数,当前时间到1970 00 00的毫秒数)
1970这个时间是unix诞生的时间
产生问题的原因:项目绝大部分用的是utc的时间,问题是偶尔出现,所以推断是,受到了其他程序 设置的时区影响
解决的办法:在区当前系统时间时,这是时区
这代码是为了验证在单线程中,在方法中设置了系统时区在整个程序中都有用
import java.text.DateFormat;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateTest34 {
public static void main(String[] args) throws IOException {
System.out.println(TimeZone.getDefault());
Date da2=new Date();
System.out.println("我是da2"+da2);
pppp();
System.out.println(TimeZone.getDefault());
Date da3=new Date();
System.out.println("我是da3"+da3);
}
public static void pppp(){
TimeZone.setDefault(TimeZone.getTimeZone("GMT+4"));
System.out.println(TimeZone.getDefault());
Date da1=new Date();
System.out.println("我是da1"+da1);
}
}