导航:首页 > 编程语言 > 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两个日期相隔天数相关的资料

热点内容
韩国一个护工照顾病人的电影 浏览:398
重生薛仁贵之推薛琪 浏览:42
免费观看欧美纯爱电影 浏览:60
男主角叫徐东的小说 浏览:274
绿版各种改编玄幻小说 浏览:560
张寒三虎翠儿免费阅读 浏览:670
国产小电影网站 浏览:489
最快影院 浏览:313
如何知道wifi登陆过什么网站 浏览:887
婴儿用品网站哪个好 浏览:398
音乐网站怎么建设 浏览:957
鸿蒙系统如何设置文件夹 浏览:250
linuxmysqlsql文件导入 浏览:82
华为设置壁纸在什么文件夹 浏览:750
哪些笔记APP可以添加表格 浏览:143
卖莆田鞋app 浏览:440
qq清理的垃圾文件能否找回来 浏览:156
主角叫林枫重生地球800年后的小说 浏览:968
重生成为蒋介石侄儿 浏览:126
一加3升级 浏览:772

友情链接