ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

间隔日期计算小技巧

2021-01-09 22:05:42  阅读:390  来源: 互联网

标签:00 01 技巧 timestamp 间隔 System time2 time1 日期


日期计算小技巧


若需计算 给定两个日期计算 相距天数或者小时的场景可使用时间戳来简化计算

概念

时间戳:timestamp,编程语言中的时间戳单位是毫秒,unix时间戳单位是秒,能够表示的范围都是从1970-01-01 2038-01-19

实例

Java中获取当前时间戳的两种方式

# System类
long timestamp = System.currentTimeMillis();
# Data类
long timestamp = new Date().getTime();

获取指定日期时间戳

long timestamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("1970-1-1 00:00:01").getTime();
// timestamp: -28799000

发现 1970-1-1 00:00:01的时间戳不是0,于是想着怎么知道时间戳为0的日期,就有了下面的代码

String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(0L);
// data: 1970-01-01 08:00:00

发现java中时间戳为0的时间是:1970-01-01 08:00:00,其他语言目前还没测试过

其他关于Java日期使用,观摩这篇大佬的博客

使用

那么就可以通过时间戳相减来知道两个日期相间距的时间

long time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2020-1-1 00:00:00").getTime();
long time2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2021-1-1 00:00:00").getTime();
System.out.println(time2-time1); // 31622400000 毫秒数
System.out.println((time2-time1)/1000); // 31622400 秒数
System.out.println((time2-time1)/(1000*60)); // 527040 分钟数
System.out.println((time2-time1)/(1000*60*24)); // 21960 小时数
System.out.println((time2-time1)/(1000*60*60*24)); // 366 天数

标签:00,01,技巧,timestamp,间隔,System,time2,time1,日期
来源: https://blog.csdn.net/lamperouge_conan/article/details/112408368

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有