问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么求java,2个日期之间有多少天。。

发布网友 发布时间:2022-04-26 05:00

我来回答

5个回答

热心网友 时间:2022-06-20 22:57

用毫秒数计算已经不是正确方法了。原因是夏令时间会造成计算错误。差一小时就是差一天。如果对这方面有疑问,可以补充问题,我再详细解答。
虽然在国内运用没有问题,但是如果用于国际化的金融系统就不行了。
所以建议你在学习阶段就认知,现代标准就是尽量不要使用毫秒数计算日期。

以下是正确方法:

public static long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}

热心网友 时间:2022-06-20 22:57

用Calendar类,可以先得到你规定日期的毫秒数,然后计算两个日期的毫秒数之差,再除于一天的毫秒数,便得到两个日期相差几天了,简单的代码如下
import java.util.Calendar;

public class DaysBetween {

public static void main(String[] args) {
System.out.println(getDays(getDate(2010, 10, 23), getDate(2010, 11, 1)));
}

// 得到规定日期的毫秒数
public static Long getDate(int year, int month, int date) {
Calendar c = Calendar.getInstance();
c.set(year, month, date);
return c.getTimeInMillis();
}

// 计算两个日期之间的毫秒数,然后除于1天的毫秒数,便得到他们之间相差多少天
public static int getDays(Long t1, Long t2) {
return (int)((t2 - t1)/(1000*60*60*24));
}
}

热心网友 时间:2022-06-20 22:58

方法是选择1970/1/1为共同参考点,然后取两个相距时间的毫秒数字,相差得毫秒转换成天数就可以了。

import java.util.Date;

public class JulianDay {

public static void main(String[] args) {

Date date1 = new Date(2010, 1, 1);
Date date2 = new Date(2011, 2, 1);

long julianDay = calcJulianDay(date1, date2);

System.out.println("Julian day is: " + julianDay);
}

private static long calcJulianDay(Date date1, Date date2) {
long dt1Seconds = date1.getTime();//自 1970 年 1 月 1 日 00:00:00 GMT 以来此 date1表示的毫秒数
long dt2Seconds = date2.getTime();//自 1970 年 1 月 1 日 00:00:00 GMT 以来此 date2表示的毫秒数

long julianDay = ((dt2Seconds - dt1Seconds) /1000) / (60*60*24);

return julianDay;
}
}
-------------
Julian day is: 393

热心网友 时间:2022-06-20 22:58

先求出两个日期的毫秒数,然后相减,得到的结果除去1000 * 60 * 60 * 24得到天数
代码:
import java.util.Date;
public class TestMain {
public static void main(String[] args) {
Date date1 = new Date(111, 0, 4);
Date date2 = new Date(111, 1, 4);
long time1 = date1.getTime();
long time2 = date2.getTime();
long cd = (time2 - time1) / (1000 * 60 * 60 * 24);
System.out.println("相差天数:"+cd);
}
}

运行结果:
相差天数:31

热心网友 时间:2022-06-20 22:59

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

class Test2 {
public static String getDate(){
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
Date dd = new Date();
return ft.format(dd);
}
public static long getQuot(String time1, String time2){
long quot = 0;
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
try {
Date date1 = ft.parse( time1 );
Date date2 = ft.parse( time2 );
quot = date1.getTime() - date2.getTime();
quot = quot / 1000 / 60 / 60 / 24;
} catch (ParseException e) {
e.printStackTrace();
}
return quot;
}
public static void main(String[] args) throws Exception {
String date1 = "2008/8/8";
String date2 = getDate();
long day = getQuot(date1,date2);
System.out.println( "距离 "+date1+" 还有 "+day+" 天" );
}
}

你看一下这段代码,是从今天到2008/8/8的天数。
Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数。
用2008/8/8的getTime()减去今天的getTime()就是这两天相差的毫秒数,1秒=1000毫秒,1分钟=60秒,1小时=60分钟,1天=24小时,然后除除除就得到天数了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在农村建平房一层多少钱 彩色长毛兔彩色长毛兔在我国 律师和律师事务所什么关系 律师事务所里面都是律师吗 每个律师都隶属于一个律师事务所吗,那律师事务所是怎么运作的? vivox5全网通可不可以同时用联通卡和移动 X5能插两张手机卡吗?联通移动都可以使用吗? 老公身体不好跟我没性生活有什么方法可以满足我性生活 多普达HTCP3600自身带的语音指令软件叫什么名字?那里有下载,谢谢了_百 ... 求多普达P3600I在香港的价格 求多普达P3600I现在的价格 两个日期之间的天数 C语言求两个日期相差的天数 excel表格如何计算两个日期相差多少天 excel:关于两个日期的天公式 在一个单元格的两个日期计算天数,一年按360天算? 怎么计算两个日期的天数,如2018/2/21到2018/3/5多少天 计算两个日期多少天 怎样求二个日期之间的天数? 红糖干结怎么办 熔化后的红糖一会儿又变硬了,怎么办? 红糖风干成砣了怎么办 红糖干了怎么办 红糖干成块了很硬,怎么能把它弄成粉状啊? 买的时候红糖就结块,发硬,是不是正宗红糖 红糖开袋后,方两天就会干硬。怎么存放才能让它不干? 我家红糖放久了结硬块了,怎么办? 红糖变硬了,怎么办? 红糖变硬了还能吃吗 红糖变硬怎么办?? 马铃薯加工成粉条,都需要哪些设备? excel 如何计算两个日期天数的个数 从键盘输入两个日期算出这两个日期相差多少天。求java程序代码! 我国的基本政策制度是什么? 我国农村教育政策有哪些 未来农村教育将会有怎样的前景? 农村教育现状要如何改善? 农村教育的根本,到底是什么呢? 国内农村的教育事业,你认为有哪些需要改善的? 针对农村家庭教育存在的问题,该如何解决? 农村教育和城市教育,有哪些较大的区别呢? 农村教育的现状,大家是怎么样看待的呢? 如何来改变农村教育的现状 现在农村的学校越来越小了,将来的农村教育将变成什么样? 中国农村的教育事业,有什么需要改善的? 国家什么时候重视农村的教育 哪里卖的四不像车质量最好,四不像车厂家 农村教育的缺失? 中国的农村教育走向何方 做四不像车的鲁鑫机械厂怎么样?是不是有这个厂家? 现在农村教育的现状是什么?