导航:首页 > 编程语言 > java两个日期相隔天数

java两个日期相隔天数

发布时间:2021-10-25 06:11:49

A. java中知道两个日期如何获得两个日期之间的天数

首先把来获取的字符串日期转换成自Date类型(从前台页面获取的是字符串类型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//获取相减后天数
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以帮到你。

B. java中怎样计算两个日期之间的天数

/**
* 计算两个时间之间的差值,根据标志的不同而不同
*
* @param flag
* 计算标志,表示按照年/月/日/时/分/秒等计算
* @param calSrc
* 减数
* @param calDes
* 被减数
* @return 两个日期之间的差值
*/
public static int dateDiff(char flag, Calendar calSrc, Calendar calDes) {

long millisDiff = getMillis(calSrc) - getMillis(calDes);

if (flag == 'y') {
return (calSrc.get(calSrc.YEAR) - calDes.get(calDes.YEAR));
}

if (flag == 'd') {
return (int) (millisDiff / DAY_IN_MILLIS);
}

if (flag == 'h') {
return (int) (millisDiff / HOUR_IN_MILLIS);
}

if (flag == 'm') {
return (int) (millisDiff / MINUTE_IN_MILLIS);
}

if (flag == 's') {
return (int) (millisDiff / SECOND_IN_MILLIS);
}

return 0;
}

// 以毫秒表示的时间
private static final long DAY_IN_MILLIS = 24 * 3600 * 1000;
private static final long HOUR_IN_MILLIS = 3600 * 1000;
private static final long MINUTE_IN_MILLIS = 60 * 1000;
private static final long SECOND_IN_MILLIS = 1000;

参考代码,flag参数传入d就可以。

C. java怎么计算两个日期相差几天

java可以使用计算日期的天数差,以下是详细代码:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test16 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1=sdf.parse("2012-09-08 10:10:10");
Date d2=sdf.parse("2012-09-15 00:00:00");
System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
}

/**
* 计算两个日期之间相差的天数
* @param smdate 较小的时间
* @param bdate 较大的时间
* @return 相差天数
* @throws ParseException
*/
public static int daysBetween(Date smdate,Date bdate) throws ParseException
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

/**
*字符串的日期格式的计算
*/
public static int daysBetween(String smdate,String bdate) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(smdate));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

}

D. Java 判断两个日期相差多少天

没有这样的函数,但是你自己可以封装一个这样的函数。
一般来说,并不计算两个日期内相差的月数以及年数容,因为月的天数以及年的天数并不是固定的,所以很多倒计时最多计算到天。
函数体:
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
String a="20140301";
String b = "20140225";
Long c = sf.parse(b).getTime()-sf.parse(a).getTime();
long d = c/1000/60/60/24;//天
System.out.println(d+"天");
只要将a,b当做参数传过去,将天数返回就可以

E. java怎么算两个datetime之间的天数,分别是哪天

Date类大多已过时,要用Calender替代
Calender c=Calender.getInstance();
Date d=c.getTime();//这个相当于new Date(),当前日期
昨天的日期:
c.add(Calender.DAY_OF_MONTH,-1);
Date d=c.getTime();
明天的日期:
c.add(Calender.DAY_OF_MONTH,1);
Date d=c.getTime();
上个月的日期:
c.add(Calender.MONTH,-1);
Date d=c.getTime();
去年的日期:
c.add(Calender.YEAR,-1);
Date d=c.getTime();

单独获取年、月、日、小时等:
int year=c.get(Calender.YEAR);
int month=c.get(Calender.MONTH);
int day=c.get(Calender.DAY_OF_MONTH);
int hour=c.get(Calender.HOUR_OF_DAY);//这个是24小时制
int hour=c.get(Calender.HOUR);//这个是12小时制

计算两个日期间的天数
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd”);
Date date1=df.parse(“2014-02-02”);
Date date2=df.parse(“2014-01-02”);
Longdays=(date1.getTime()-date2.getTime)/(24*60*60*1000)

F. java中如何计算出两个日期之间相差多少天

思路就是根据它们相差的毫秒数除以每天的毫秒数(60*60*24*1000),代码如下:

public static void main(String[] args) throws ParseException {

String date1="1987-01-01";

String date2="2010-01-01";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

Date d1=sdf.parse(date1);

Date d2=sdf.parse(date2);

long daysBetween=(d2.getTime()-d1.getTime()+1000000)/(60*60*24*1000);

System.out.println("1987-01-01 与 2010-01-01 相隔 "+daysBetween+" 天");

}

运行结果如下:

(6)java两个日期相隔天数扩展阅读:

Java使用以下三种方法来比较两个日期:

1、使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。

2、使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

3、使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行

例如:

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");

这一行代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。

注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

以上实例编译运行结果如下:

当前时间为: 2018-09-14 10:16:34

菜鸟教程-Java 日期时间

G. 求助java获取两个日期之间相隔中间的天数

package com.jiajia.filedemo; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 8 public class Demo3 { 9 10 11 private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");12 13 public static void main(String []args) throws Exception{14 String first = "1995-9-2";15 String second = "2017-3-22";16 Date firstdate = format.parse(first);17 Date seconddate = format.parse(second);18 int cnt = longOfTwoDate(firstdate, seconddate);19 System.out.println(cnt);20 }21 22 public static int longOfTwoDate(Date first,Date second) throws ParseException{23 Calendar calendar = Calendar.getInstance();24 calendar.setTime(first);25 int cnt = 0;26 while(calendar.getTime().compareTo(second)!=0){27 calendar.add(Calendar.DATE, 1);28 cnt++;29 }30 return cnt;31 }32 }

H. java如何计算两个日期之间相差的天数

看完了jdk的help,发现sun没有提供这样的一个函数,朋友给了几个实现方法//取得剩余天数
SimpleDateFormat df=new SimpleDateFormat("yyyymmdd");
Date d0=new java.util.Date();
Date d1=df.parse(end_date);
long time0=d0.getTime();
long time1=d1.getTime();
System.out.println((time1-time0)/(1000*60*60*24)); 这样算两个时间相差的天数比较好 /**
* 计算两个日期之间相差的天数** @param date1
* @param date2* @return*/public static int diffdates(Date date1, Date date2) {
int result = 0;
ElapsedTime et = new ElapsedTime(); GregorianCalendar gc1 = new GregorianCalendar();
GregorianCalendar gc2 = new GregorianCalendar(); gc1.setTime(date1);
gc2.setTime(date2);
result = et.getDays(gc1, gc2); return result;}然后ElapseTime中的方法是:
public int getDays(GregorianCalendar g1, GregorianCalendar g2) {
int elapsed = 0;
GregorianCalendar gc1, gc2; if (g2.after(g1)) {
gc2 = (GregorianCalendar) g2.clone();
gc1 = (GregorianCalendar) g1.clone();} else {gc2 = (GregorianCalendar) g1.clone();
gc1 = (GregorianCalendar) g2.clone();
} gc1.clear(Calendar.MILLISECOND);
gc1.clear(Calendar.SECOND);
gc1.clear(Calendar.MINUTE);
gc1.clear(Calendar.HOUR_OF_DAY); gc2.clear(Calendar.MILLISECOND);
gc2.clear(Calendar.SECOND);
gc2.clear(Calendar.MINUTE);
gc2.clear(Calendar.HOUR_OF_DAY); while (gc1.before(gc2)) {
gc1.add(Calendar.DATE, 1);elapsed++;}return elapsed;}其实使用joda最简单public boolean isRentalOvere(DateTime datetimeRented) {

I. 用java计算出两个日期之间相差多少天

java可以使用计算日期的天数差,以下是详细代码:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class test16 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1=sdf.parse("2012-09-08 10:10:10");
Date d2=sdf.parse("2012-09-15 00:00:00");
System.out.println(daysBetween(d1,d2));

System.out.println(daysBetween("2012-09-08 10:10:10","2012-09-15 00:00:00"));
}

/**
* 计算两个日期之间相差的天数
* @param smdate 较小的时间
* @param bdate 较大的时间
* @return 相差天数
* @throws ParseException
*/
public static int daysBetween(Date smdate,Date bdate) throws ParseException
{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

/**
*字符串的日期格式的计算
*/
public static int daysBetween(String smdate,String bdate) throws ParseException{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(smdate));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);

return Integer.parseInt(String.valueOf(between_days));
}

}

J. java中知道两个日期如何获得两个日期之间的天数

首先把获取复的字符串日期制转换成Date类型(从前台页面获取的是字符串类型的日期 a,b):
Date a1 = new SimpleDateFormat("yyyy-MM-dd").parse(a);
Date b1 = new SimpleDateFormat("yyyy-MM-dd").parse(b);
//获取相减后天数
long day = (a1.getTime()-b1.getTime())/(24*60*60*1000);
希望可以帮到你。

阅读全文

与java两个日期相隔天数相关的资料

热点内容
地方债务数据在哪里查看 浏览:932
扫描文件怎么设置格式 浏览:957
苹果邮箱主机名填什么 浏览:630
多张图片同一个文件夹 浏览:798
win7怎么打开shs文件 浏览:481
怎么把文件夹做成iso 浏览:164
缤客网站上的房价怎么在哪里修改 浏览:406
单片机c51计数器实验代码 浏览:990
宏编程鼠标代表什么意思 浏览:753
别人捡到苹果6有用吗 浏览:829
word文件用wps打开 浏览:477
macbook修改文件格式软件 浏览:757
美版s7edge那个版本好 浏览:529
视频隐藏在文件夹里 浏览:144
网络通讯基础是什么 浏览:209
办公电脑文件管理 浏览:222
火化费报销文件有哪些 浏览:998
大数据这本书怎么样 浏览:954
数据库中建立索引吗 浏览:550
ug40帮助文件 浏览:695

友情链接