您的位置:首页 > 编程语言 > Java开发

java获取当前系统时间(最好的方式是取当前系统时间的毫秒数)

2016-12-22 17:23 337 查看
问题  获取当前系统时间,没有设置时区,是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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息