Java创建一个日历对象,需要引入javautil包,用当前时间初始化日历时间,计算两个日期之间相隔的天数,实例演示了2014年10月1日和1949年10月1日中间相隔的天数,计算方法如下:
import javautil;public class CalendarDemo {
public static void main(String args[]) {
Calendar calendar = CalendargetInstance(); //创建一个日历对象。
calendarsetTime(new Date()); //用当前时间初始化日历时间。
String year = StringvalueOf(calendarget(CalendarYEAR));
String month = StringvalueOf(calendarget(CalendarMONTH) + 1);
String date = StringvalueOf(calendarget(CalendarDAY_OF_MONTH));
String day = StringvalueOf(calendarget(CalendarDAY_OF_WEEK) - 1);
int hour = calendarget(CalendarHOUR_OF_DAY);
int minute = calendarget(CalendarMINUTE);
int second = calendarget(CalendarSECOND);
Systemoutprintln("现在的时间是:");
Systemoutprintln("" + year + "年" + month + "月" + date + "日 " + "星期" + day);
Systemoutprintln("" + hour + "时" + minute + "分" + second + "秒");
calendarset(1949, 9, 1); //将日历翻到1949年10月1日,注意9表示十月。
// 返回当前时间,作为从开始时间的 UTC 毫秒值。
long time1949 = calendargetTimeInMillis();
calendarset(2014, 9, 1); //将日历翻到2014年10月1日。9表示十月。
// 返回当前时间,作为从开始时间的 UTC 毫秒值。
long time2004 = calendargetTimeInMillis();
long interdays = (time2014 - time1949) / (1000 60 60 24);
Systemoutprintln("2014年10月1日和1949年10月1日相隔" + interdays + "天");
}
}
import javautil;
public class MyDate{
int day;
int month;
int year;
public MyDate(){}
public MyDate(int day,int month,int year){
thisday = day;
thismonth = month;
thisyear = year;
}
public void funtion(MyDate d){
int newDay = dday;
int newMonth = dmonth;
int newYear = dyear;
Calendar c1 = CalendargetInstance();
c1set(newYear,newMonth,newDay);
long n1 = c1getTimeInMillis();
Calendar c2 = CalendargetInstance();
c2set(year,month,day);
long n2 = c2getTimeInMillis();
Systemoutprintln( "相差天数为:" + Mathabs((n1 - n2)/24/3600000)); }
public static void main(String[] args){
MyDate d1 = new MyDate(1,1,2008);
MyDate d2 = new MyDate(2,1,2001);
d1funtion(d2);
}
}
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
比如两个日期:2005-12-31和2006-01-05,怎么才能精确的计算出这两个日期之间差的天数
望回答的详细一些,谢了先
解析:
import javatextParseException;
import javatextSimpleDateFormat;
import javautilDate;
class Test2 {
public static String getDate(){
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
Date dd = new Date();
return ftformat(dd);
}
public static long getQuot(String time1, String time2){
long quot = 0;
SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd");
try {
Date date1 = ftparse( time1 );
Date date2 = ftparse( time2 );
quot = date1getTime() - date2getTime();
quot = quot / 1000 / 60 / 60 / 24;
} catch (ParseException e) {
eprintStackTrace();
}
return quot;
}
public static void main(String[] args) throws Exception {
String date1 = "2008/8/8";
String date2 = getDate();
long day = getQuot(date1,date2);
Systemoutprintln( "距离 "+date1+" 还有 "+day+" 天" );
}
}
你看一下这段代码,是从今天到2008/8/8的天数。
Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数。
用2008/8/8的getTime()减去今天的getTime()就是这两天相差的毫秒数,1秒=1000毫秒,1分钟=60秒,1小时=60分钟,1天=24小时,然后除除除就得到天数了。
以上就是关于java利用Calendar如何计算两个日期只差全部的内容,包括:java利用Calendar如何计算两个日期只差、用java写一个程序可以计算2个日期之间的天数差。、java中计算两个日期之间差的天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)