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 = Instant.now();
Thread thread = new Thread();
thread.sleep(2000);
Instant end = Instant.now();
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 = LocalDate.now();
Period period = Period.between(startDate, endDate);
System.out.println("日期间隔为:"+period); //日期间隔为:P7M6D
System.out.println("日期间隔为:"+period.getYears()+"年-"+period.getMonths()+"月-"+period.getDays()+"日"); //日期间隔为:0年-7月-6日
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】