java计算两个日期之间的相隔天数
【原创】
之前在很多竞赛的题目中有这样饿一类题,计算给定两个日期之间的相隔天数,或者很多类似的题目,都是需要转化到这个问题上时,之前用c++写的时候思想是这样的,一个结构体,包括年月日,还有一个计算下一天的函数,建立一个整形数组int buf[5001][13][32];看上去很吓人吧,没错就是将5000年全部存下来,存什么呢,比如说让0000-1-1为第一天,那么buf[0000][1][1] = 1;buf[0000][1][2]=2;这样一开始初始化后,便将起全部存储下来,计算两个日期差直接两个数组元素相减便得到结果;
但是用java可以直接利用内库中的很多封装类来做嘛,这才能体现java的强大嘛
说多了无聊,直接来代码;
package com.jiajia.filedemo; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class Demo3 { private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); public static void main(String []args) throws Exception{
String first = "1995-9-2";
String second = "2017-3-22";
Date firstdate = format.parse(first);
Date seconddate = format.parse(second);
int cnt = longOfTwoDate(firstdate, seconddate);
System.out.println(cnt);
} public static int longOfTwoDate(Date first,Date second) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.setTime(first);
int cnt = 0;
while(calendar.getTime().compareTo(second)!=0){
calendar.add(Calendar.DATE, 1);
cnt++;
}
return cnt;
}
}
没有写注释,代码很简单啊,主要是
longOfTwoDate函数搞懂就好了,利用到了Calender这个类;有一个自加功能;所以so easy
---
### 最后
- 本文内容个人拙见,若有出入,欢迎指正。
- 欢迎赏脸关注:家佳Talk

java计算两个日期之间的相隔天数的更多相关文章
- java计算两个日期之间相隔的天数
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd和YYYY-mm-dd HH:mm:ss
/** * 计算两个日期之间相差的天数(带带负数) 支持格式YYYY-mm-dd比较 * @param higDate 减数 * @param lowDate 被减数 * @returns 差值天数 ...
- java计算两个日期之间相隔的月份(向下取整)
最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...
- tp5 计算两个日期之间相差的天数
//两个日期之间相差的天数 function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = s ...
- java计算两个日期之间的天数,排除节假日和周末
如题所说,计算两个日期之前的天数,排除节假日和周末.这里天数的类型为double,因为该功能实现的是请假天数的计算,有请一上午假的为0.5天. 不够很坑的是每个日期都要查询数据库,感觉很浪费时间. 原 ...
- C#计算两个日期之间相差的天数
说明:如:1900-01-01与1900-01-01之间算一天 private static int DateDiff(DateTime dateStart, DateTime dateEnd) { ...
- mysql 计算两个日期之间的工作日天数
创建透视表t500 建表 CREATE TABLE `t500` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE ...
- java 获取两个日期之间的所有天数
Calendar start = Calendar.getInstance(); start.set(2017, 2, 20); Long startTIme = start.getTimeInMil ...
- C#中如何获得两个日期之间的天数差 ( c# 计算两个日期之间相差的天数 )
DateTime dtLast = new DateTime(Convert.ToInt32(LastMenses.Year), Convert.ToInt32(LastMenses.Month), ...
随机推荐
- Qt数据库编程1
Qt中数据编程主要分为以下两点:1.利用qt提供类 访问数据库或者成为简单的数据库编程2.数据库编程中引入model/view编程模型 qt中数据库编程的步骤: 1.加载数据库驱动 QSqlDatab ...
- Chino的成绩(chino的公开赛T3)
题目背景 曾经幻想过未来的风景 或许有着另外一片天 小镇的远方 有着深远的回忆 也有着富有深情的诗篇 题目描述 Chino非常注重自己的成绩 Chino有 m 种方式给自己增加 rp 以增加成绩,她的 ...
- 解决Nginx: [error] open() "/usr/local/Nginx/logs/Nginx.pid" failed(2:No such file or directory)
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- jQuery(四)--HTTP请求
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- windows 下安装pyspider
今天主要介绍一下在Windows下安装pyspider,pyspider是一款用python编写的网络爬虫框架,这个框架最好是在linux下运行,Windows下运行可能会出现兼容性问题,如果实在要在 ...
- mysql5.6主主复制及keepalived 高可用
1.实验目的 mysql服务器作为生产环境中使用最广泛的数据库软件,以其开源性,稳定性而广泛使用,但同时由于数据存储,读写频率高,极易造成数据库出错,从而给企业造成不可挽回的损失,我们除了做好数据库的 ...
- linux文件操作篇 (一)文件属性与权限
文件的属性和权限是linux中 目录 和 文件 的两个基本特性. #属性: . 所有者属性 . 访问权限属性 -rwxrwxr-x #第一个字符是文件类别 -表示 普通文件 d 表示目录 b 表示 ...
- Mongoose模式的扩展
模式的扩展 默认值 默认值的类型: 固定值.即使生成 代码展示: var mongoose = require('mongoose');mongoose.connect('mongodb://loca ...
- [HDU1512]Monkey King(左偏树)
用并查集维护猴子们的关系,强壮值用左偏树维护就行了 Code #include <cstdio> #include <algorithm> #include <cstri ...
- python2.7入门---SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.python的smtplib提 ...