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);
}
}
偶尔会出现比当前系统时间早八个小时
注意:取时间最好的方式是去时间戳(就是毫秒数,当前时间到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);
}
}
相关文章推荐
- 时间操作(Java版)—获取给定时间与当前系统时间的差值(以毫秒为单位)
- JAVA获取当前系统时间的方式
- JAVA/C/C++获取当前系统毫秒时间+计算程序运行时间
- java获取取得Timestamp类型的当前系统时间
- java获取取得Timestamp类型的当前系统时间
- JAVA中获取当前系统时间
- JAVA 获取系统当前时间
- JAVA中获取当前系统时间
- linux java/jsp 获取系统当前时间问题
- C/C++获取当前系统毫秒时间
- JAVA中获取当前系统时间
- JAVA中获取当前系统时间
- 获取系统当前时间的毫秒数
- Java中获取当前系统时间
- 你的java程序真的跨平台吗?java获取当前时间毫秒数问题引发
- java中获取当前系统时间,日期并格式化输出
- java另一种获取当前系统的时间与日期
- java 获取系统当前时间数字串
- VB.NET获取系统当前精确时间(毫秒级)
- JAVA中获取当前系统时间