从数据库中获得的两个日期 相差天数 无法获得?

[复制链接]
查看11 | 回复9 | 2011-4-20 09:04:51 | 显示全部楼层 |阅读模式
String orderSenddate=(String)session.getAttribute(\"time\");

String overDate=(String)session.getAttribute(\"time2\");



System.out.println(\"orderSenddate:\" orderSenddate);

System.out.println(\"overDate:\" overDate);
String a=\"2004-03-2613:31:40.0\";
String b=\"2004-03-0211:30:24.0\";


SimpleDateFormat df = new SimpleDateFormat( \"yyyy-MM-dd \" \" \"\"HH:mm:ss\");


try

{

System.out.println(\"------------------aaaaaa:\");

Date d1 = df.parse(a);

Date d2 = df.parse(b);

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);


System.out.println(\"dayssssssssssssssss1:\" d1 );

System.out.println(\"dayssssssssssssssss2:\" d2);

System.out.println(\"dayssssssssssssssssf:\" diff);

System.out.println(\"dayssssssssssssssss:\" days);



}

catch (Exception e)

{

}
为什么 传 orderSendDate 和overDate 时无法获得相差的天数(这两个是从数据取出来得,有值)
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">麻烦你把orderSendDate和overDate 这两个字符串的值提供下,我看下。

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-4918745\">orderSenddate:2011-04-28 01:58:52.0
overDate:2011-04-28 02:16:32.0
------------------aaaaaa:
dayssssssssssssssss1:Thu Apr 28 13:31:40 CST 2011
dayssssssssssssssss2:Wed Feb 02 11:30:24 CST 2011
dayssssssssssssssssf:7351276000
dayssssssssssssssss:85
控制台上的输出
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4918785\">楼主,问一下, orderSendDate和overDate 这两个字符串的值是2011-04-28 01:58:52.0
、2011-04-28 02:16:32.0,还是Thu Apr 28 13:31:40 CST 2011、Wed Feb 02 11:30:24 CST 2011
这俩啊?
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4924880\">2011-04-28 01:58:52.0
、2011-04-28 02:16:32.0
是这个
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4925924\">你把sdf声明成我这样试试。

SimpleDateFormat sdf = new SimpleDateFormat(\"yyyy-mm-dd HH:mm:ss.S\");         
       
String orderSenddate=\"2011-04-28 01:58:52.0\";
       
String overdate=\"2011-04-28 02:16:32.0\";
       

       
try {
       
        Date orderSendDate= sdf.parse(orderSenddate);
       
        Date overDate= sdf.parse(overdate);
                 System.out.println(\"两日期相差天数:\" (orderSendDate.getTime()-overDate.getTime())/ (1000 * 60 * 60 * 24));
                 //得出相差天数为0
                } catch (ParseException e) {
                        e.printStackTrace();
                }
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4928703\">String orderSenddate=\"2011-04-28 01:58:52.0\";
String overdate=\"2011-04-28 02:16:32.0\";
这样子肯定性。。。关键现在 我的orderSendDate,overDate是从数据库中获得。。。虽然控制台看到值和上面一样但是就是无法获得天数。。。
String orderSenddate=\"数据库获得的时间\";
String overdate=\"数据库获得的时间\";
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4916777\">现在的问题是 我写的a,b可以算出天数,而orderSendDate,overDate 带入
Date d1 = df.parse(orderSendDate);
Date d2 = df.parse(overDate );
却得不到相差的天数。orderSendDate,overDate 这两个时间是 数据库获得的并且有值 值和a,b一样的。 long diff = d1.getTime() - d2.getTime();long days = diff / (1000 * 60 * 60 * 24); 这就是你说的算法。。。JAVA中就这么算的
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4919987\">这个真没验证。。。怎么将它们转换成a,b的格式?
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4920289\">我看了楼上的回复 你给的打印结果很正常。。。
String a=\"2011-04-28 02:16:32.0\";
                String b=\"2011-04-28 01:58:52.0\";
                SimpleDateFormat f=new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\");
                try

{

System.out.println(\"------------------aaaaaa:\");

Date d1 = f.parse(a);

Date d2 = f.parse(b);

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);


System.out.println(\"day1:\" d1 );

System.out.println(\"day2:\" d2);

System.out.println(\"dayf:\" diff);

System.out.println(\"day:\" days);



}

catch (Exception e)

{

}
==================================================
------------------aaaaaa:
day1:Thu Apr 28 02:16:32 CST 2011
day2:Thu Apr 28 01:58:52 CST 2011
dayf:1060000
day:0
回复

使用道具 举报

千问 | 2011-4-20 09:04:51 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4921260\">a,b是我手写上去的。。
String orderSenddate=(String)session.getAttribute(\"time\");

String overDate=(String)session.getAttribute(\"time2\");
是从数据库取的。。的带进下面的 就不执行了
Date d1 = f.parse(orderSenddate);

Date d2 = f.parse(overDate);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行