日期:2014-05-18  浏览次数:20732 次

求两个日期相差的天数
第一个日期是的格式是2010-6-25,这是保存在数据库表里的一个字段,字符串型的
第二个日期是取得服务器的当前日期:Date date = new Date();
请问这样的两个日期,要怎么求出他们之间相差的天数?

------解决方案--------------------
Java code

        long tm = (Calendar.getInstance().getTimeInMillis() - date2.getTime());
        
        int ms = (int)(tm%1000); tm /= 1000;
        int sc = (int)(tm%60);   tm /= 60;
        int mn = (int)(tm%60);   tm /= 60;
        int hr = (int)(tm%24); 
        long dy = tm/24;
        
        String useTime = dy+"天"+hr+"小时"+mn+"分"+sc+"."+ms+"秒";

------解决方案--------------------
我亲自测试过了!可以!

public static void main(String[] args)
{
Date date = new Date();
String num = "2009-6-10"; 
try{
Date m_endTime = new java.text.SimpleDateFormat("yyyy-MM-dd").parse("2009-6-10");
System.out.println((date.getTime()- m_endTime.getTime())/86400000);
}catch(Exception ex){
ex.printStackTrace();
}
}
------解决方案--------------------
SELECT DATEDIFF(day, 日期字段, GetDate()) from 表名
------解决方案--------------------
探讨
引用:

SQL code
select to_date(日期字段,'yyyyMMdd')-to_date(to_char(SYSDATE,'yyyyMMdd'),'yyyyMMdd') AS TS
from table1;


用这个语句就可以得到,不要写程序那么麻烦。

我的数据库是SQL2000,我在查询分析器里输入了上面的sql,提示:to_date是不可以识别的函数名