Java8中Instant和LocalDate来计算时间或者⽇期间隔
/**
* java.time.Instant
* java.time.Duration
* Instant 默认使⽤UTC时区:2019-01-24T14:01:32.258Z
* mongo中的时间与系统时间相差了8个⼩时,这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。⽽系统时间使⽤的是GMT+0800时间,两者正好相差8个⼩时。
* UTC + 时区差=本地时间北京时区是东⼋区,领先UTC⼋个⼩时
* Duration:⽤于计算两个“时间”间隔
*/
public void timeInterval() throws InterruptedException{
Instant start = w();
Thread thread = new Thread();
java时间日期格式转换thread.sleep(2000);
Instant end = w();
System.out.println("总耗时={}ms:"+Duration.between(start, end).toMillis());//总耗时={}ms:2007
System.out.println(start);//2019-08-07T03:22:17.737Z
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置⽇期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间 2019-08-07 11:22:17
}
/**
* java.time.LocalDate
* LocalDate的使⽤
* 计算两个⽇期之间间隔多少天
* 使⽤Period来获取间隔,⽤于计算两个“⽇期”间隔
*/
public void dateInterval(){
LocalDate startDate = LocalDate.of(2019, 1, 1);
LocalDate endDate = w();
Period period = Period.between(startDate, endDate);
System.out.println("⽇期间隔为:"+period); //⽇期间隔为:P7M6D
System.out.println("⽇期间隔为:"+Years()+"年-"+Months()+"⽉-"+Days()+"⽇"); //⽇期间隔为:0年-7⽉-6⽇
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。