计算两个日期之间有多少天多少小时多少分钟
Java代码
- package date;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- public class CalculateIntervalBetween2Dates {
- private static final long DAY=24*60*60*1000;
- private static final long HOUR=60*60*1000;
- private static final long MINUTES=60*1000;
- private static final long SECONDS=1000;
- private static final long MILLIONSECONDS=1;
- public static void main(String[] args) {
- String startDateStr = "20121022";
- String endDateStr = "20121206";
- CalculateIntervalBetween2Dates.listNumberOfDates(startDateStr, endDateStr);
- CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,MILLIONSECONDS);
- CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,SECONDS);
- CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,MINUTES);
- CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,HOUR);
- CalculateIntervalBetween2Dates.calculateInterval(startDateStr, endDateStr,DAY);
- }
- /**
- * List dates between start date and end date, including the start date and end date.
- * @param startDateStr
- * @param endDateStr
- */
- public static void listNumberOfDates(String startDateStr,String endDateStr){
- SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
- Date startDate = null;
- Date endDate = null;
- try {
- startDate = sf.parse(startDateStr);
- endDate = sf.parse(endDateStr);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- Calendar c1 = Calendar.getInstance();
- List<Date> cancelDates = new ArrayList<Date>();
- if (startDate != null && endDate != null && startDate.before(endDate)) {
- Date tempDate = startDate;
- do {
- cancelDates.add(tempDate);
- c1.setTime(tempDate);
- c1.add(Calendar.DAY_OF_MONTH, 1);
- tempDate = c1.getTime();
- } while (tempDate.before(endDate));
- cancelDates.add(endDate);
- }
- System.out.println("There are " + cancelDates.size() + " days between " + sf.format(startDate) + " and " + sf.format(endDate) + ", inclusive.");
- System.out.println("See the following list:");
- for (Date date : cancelDates) {
- System.out.println(sf.format(date));
- }
- System.out.println();
- }
- /**
- * Calculate how many days/hours/minutes/seconds/million seconds between start date and end date, including the start date and end date.
- * @param startDateStr
- * @param endDateStr
- * @param interval
- */
- public static void calculateInterval(String startDateStr,String endDateStr,long interval){
- SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
- Date startDate = null;
- Date endDate = null;
- try {
- startDate = sf.parse(startDateStr);
- endDate = sf.parse(endDateStr);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- Calendar c1 = Calendar.getInstance();
- c1.setTime(startDate);
- long startInMillis=c1.getTimeInMillis();
- c1.setTime(endDate);
- //inclusive,2009/10/24-2009/10/23=1,but actually 2 days
- c1.add(Calendar.DAY_OF_MONTH, 1);
- long endInMillis=c1.getTimeInMillis();
- long between=endInMillis-startInMillis;
- System.out.println("There are " + (between/interval) +" "+getIntervalLabel(interval) + " between " + sf.format(startDate) + " and " + sf.format(endDate) + ", inclusive");
- }
- private static String getIntervalLabel(long interval){
- if(interval==DAY){
- return "days";
- }else if(interval==HOUR){
- return "hours";
- }else if(interval==MINUTES){
- return "minutes";
- }else if(interval==SECONDS){
- return "seconds";
- }else if(interval==MILLIONSECONDS){
- return "million seconds";
- }else{
- return "error";
- }
- }
- }
转载于:https://blog.51cto.com/shuaigee/1140917
计算两个日期之间有多少天多少小时多少分钟相关推荐
- sqlserver两个日期之间的年数_SQL语句计算两个日期之间有多少个工作日的方法
/* 因为工作中一个奇怪的需求,要用SQL语言计算两个日期间有多少个工作日. 设定是一个星期有5个工作日,从星期一到星期五 说明: 第一个星期的工作日数:DATEPART(dw, @begdt)-DA ...
- Java Date Calendar类的使用 如何计算两个日期之间有多少天
Java工具类:java.util.Date,是Java中经常被用到一个日期时间的类.可以用来表示具体的年月日时分秒.java.util.Calendar,是日历类 导包:import java.ut ...
- Go获取n天前或后的日期、日期转秒时间戳、计算两个日期之间的天数差
获取n天前或后的日期: // GetBeforeTime 获取n天前的秒时间戳.日期时间戳 // _day为负则代表取前几天,为正则代表取后几天,0则为今天 func GetBeforeTime(_d ...
- 微软面试题目(一) 计算两个日期之间的天数
微软的面试,没能参加啊,只好打听了下题目,其中一题是在20分钟内写出:计算两个日期之间天数的方法.昨天晚上想了一下,今天实现了一下,经过调试,差不多一个小时才弄好,惭愧啊 代码如下: /******* ...
- dateutil 日期计算_java计算两个日期之间的天数
展开全部 在Java开发物流或是其他功能的时候会用到两个日期相差多天的数据,62616964757a686964616fe78988e69d8331333337616538所以整理了一下备用. 调用方 ...
- 如何利用计算机计算天数,如何应用Win10系统电脑中的计算器计算两个日期之间的天数?...
如何应用Win10系统电脑中的计算器计算两个日期之间的天数? 相信很多小伙伴都有在使用windows10系统的电脑,其中的计算器如何才能用来计算两个日期之间的天数呢?方法很简单,下面小编就来为大家介绍 ...
- 计算两个日期之间的年数
//问题2:计算两个日期之间的年数 #include <iostream.h> class Date { private :int year, month, day;public :Dat ...
- java中算两个时间内的秒数_java – Joda Time – 计算两个日期之间的秒数会引发异常....
我使用以下代码来计算两个日期之间的秒数差异: long secondsBetween = (Seconds.secondsBetween(new LocalDate("1901-01-01& ...
- 怎么用计算机计算年月份,如何使用Excel计算两个日期之间的月数?
一.这可以通过DATEDIF函数完成. 二. DATEDIF函数的定义 DATEDIF函数是Excel中的隐藏函数,而不是帮助和插入公式中的隐藏函数.返回两个日期之间的年\月\日间隔的数量. DATE ...
最新文章
- 【Gamma】“北航社团帮”展示博客
- mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错
- PTA 1002 Business (35分)
- img 标签 点击跳出图层_你竟然不知道cad图层也可以导出与导入?
- 第一次训练赛的相关总结和教训!
- [Python]使用 lambda 函数
- 结对项目开发-电梯调度
- 为什么python的命名不能以数字开头,Python模块名称以数字开头
- Java伪代码之大道至简读后感
- win7下安装tomcat
- DSP之时钟与定时器之一时钟发生器
- C# 操作offfice权限问题
- android 微信浮窗实现_Android仿微信文章悬浮窗效果
- 医院招聘计算机人员面试经典问题,医院收费员常见面试题目
- 【Unity】U3D TD游戏制作实例(五)防御塔设计:对象排序、锁定敌人、攻击敌人、防御塔特色功能实现
- 京东618主场迎战:变与不变,志在必得
- [cv]郑哲东 Deep-ReID——Learn pedestrian representations from
- 信息系统项目管理系列之十:项目人力资源管理
- AMD皓龙系列服务器CPU,霄龙PK皓龙!AMD CPU 10年历史对比:一步登天
- 冒泡排序(Bubble Sort)