使用Calendar类,具体用法见文档
解决方案 »
- 求高手点拨:关于Java抽象类的“多态”功能的替代问题。
- 大家说我应不应该跟经理提涨工资的事啊!
- 如何取出ArrayList中元素为HashMap的HashMap对象指定值
- 关于Java动态代理的一些疑惑,麻烦大家帮忙看下,谢谢
- 文件文件!!!
- 关于java同一个对象的多个线程的问题
- equals方法到底是否需要覆盖
- java里有没有像QQ那样实现“我的好友”,“通讯录”, “群/校友录”,“最近联系人”,点一下按钮弹到最上面,并且在其栏下有很多图片按
- javax.servlet.http 问题?
- 有没有人做过交互的绘制线的程序。如果没有涉及过java绘图部分请不必进入!
- 请教怎样透过代理服务器访问URL,目前我的程序只能在不使用代理服务器的环境中使用?
- 为什么这个解压缩没有解压后的文件生成
所以你想计算A到B有多少天
就分别以A,B作为参数
结果相减
得到的是两个时刻的时间差(单位是毫秒)
再除以1000/60/60/24
就是天数
* 日前後の日付取得.
* @引数 String sDte 日付
* String lKknDay 日
* @戻り値 String "error"
* @exception Exception
*/ public String GetDifDay(String sDte,long lKknDay) { int iYear; //年
int iMth; //月
int iDay; //日
int iSysFstYear; //開始年
int iSysLstYear; //終了年
long lDay;
String sDay = new String();
String sYear = new String();
String sMth = new String();
//開始年
iSysFstYear=Integer.parseInt(strSysFstYear);
//終了年
iSysLstYear=Integer.parseInt(strSysLstYear);
//年
sYear = sDte.substring(0,4);
//月
sMth = sDte.substring(4,6);
//日
sDay = sDte.substring(6,8);
//年
iYear = Integer.parseInt(sYear);
//月
iMth = Integer.parseInt(sMth);
//日
iDay = Integer.parseInt(sDay); GregorianCalendar gCal=new GregorianCalendar(); try {
gCal.set(iYear,iMth-1,iDay);
gCal.add(gCal.DATE,(int)lKknDay); sMth = gCal.get(gCal.MONTH)+"";
iMth = Integer.parseInt(sMth);
iMth = iMth + 1;
sMth = String.valueOf(iMth);
if (sMth.length()==1) {
sMth="0"+sMth;
}
sDay=gCal.get(gCal.DATE)+"";
if (sDay.length()==1) {
sDay="0"+ gCal.get(gCal.DATE)+"";
}
return gCal.get(gCal.YEAR)+""+sMth+sDay;
} catch(Exception e) {
return "error";
}
}
//String strDate1, strDate2;SimpleDateFormat format = new SimpleDateFormat(yyyyMMdd);
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
int diffDay = (d2.getTime() - d1.getTime())/1000//3600/24;
throws Exception
{
System.out.println(diffDay("20011114", "20011124"));
} private static int diffDay(String strDate1, String strDate2)
throws ParseException
{
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
return (int)((d2.getTime() - d1.getTime())/1000/3600/24);
}