| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:2个时间的比较(感谢冰峰大哥,已解决)
只看楼主 加入收藏
扯の天堂
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-1-30
收藏
 问题点数:0 回复次数:7 
2个时间的比较(感谢冰峰大哥,已解决)

跟个白痴似的,那个add(),会了。
就是一个日期加上若干时间,得出另一个日期会了。
但是如果是2个日期就中间所差的天数又遇到问题。。。
我是这么做的。但是不知道为什么得出来始终是1天,是方法用错了还是什么就不知道。

import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.*;

public class HM3
{
public static void main(String[] args)
{
SimpleDateFormat df = new SimpleDateFormat("yyyy MM dd");
Date d = null;
Calendar c = new GregorianCalendar();
Calendar cc = new GregorianCalendar();
String fore = JOptionPane.showInputDialog(null,
"请输入被减日期(请以空格格开)");
String step = JOptionPane.showInputDialog(null,
"请输入最后日期(请以空格格开)");
try
{
d = df.parse(fore);
c.setTime(d);
}
catch(Exception e)
{
e.printStackTrace();
}
JOptionPane.showMessageDialog(null,df.format(c.getTime()));



try
{
d = df.parse(step);
cc.setTime(d);
}
catch(Exception e)
{
e.printStackTrace();
}
JOptionPane.showMessageDialog(null,df.format(cc.getTime()));

JOptionPane.showMessageDialog(null," " +cc.compareTo(c));

}

}

[此贴子已经被作者于2007-3-2 22:22:44编辑过]

搜索更多相关主题的帖子: 冰峰 感谢 时间 
2007-03-02 18:46
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
得到两个时间的这毫秒表示法,然后两个数相减就OK了

long t1=d.getTime();这个得到毫秒数,然后相减

可惜不是你,陪我到最后
2007-03-02 20:45
扯の天堂
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-1-30
收藏
得分:0 
没懂。

能告诉我 我原有的那个程序是该怎么改吗?

2007-03-02 20:48
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

得到两个时间的毫秒表示法啊

调用两个Date对象的getTime()方法,得到一个long值,这个long值就是以毫秒表示的当时的时间

然后两个相减就可以了

我们知道一天的毫秒数是:24小时*60分钟*60秒*1000毫秒

然后两个毫秒数的差除以这个就知道相差几天了,你也可以知道相差几个小时,几分钟等等,只要换算成毫秒就行了


可惜不是你,陪我到最后
2007-03-02 20:54
扯の天堂
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-1-30
收藏
得分:0 

import javax.swing.*;
import java.text.SimpleDateFormat;
import java.util.*;

public class HM3
{
public static void main(String[] args)
{
SimpleDateFormat df = new SimpleDateFormat("yyyy MM dd");
Date d = null;
Date dd = null;
Calendar c = new GregorianCalendar();

String fore = JOptionPane.showInputDialog(null,
"请输入被减日期(请以空格格开)");
String step = JOptionPane.showInputDialog(null,
"请输入最后日期(请以空格格开)");
try
{
d = df.parse(fore);
c.setTime(d);
}
catch(Exception e)
{
e.printStackTrace();
}
// JOptionPane.showMessageDialog(null,df.format(c.getTime()));

long t1 = d.getTime();

try
{
dd = df.parse(step);
c.setTime(dd);
}
catch(Exception e)
{
e.printStackTrace();
}
// JOptionPane.showMessageDialog(null,df.format(c.getTime()));

long t2 = dd.getTime();

JOptionPane.showMessageDialog(null,"相隔" + ((t2-t1)/(24*60*60*1000))+"天");
}

}

哈哈 出来了出来了..真是太感谢了!!


2007-03-02 22:07
yinxuchina
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-2-1
收藏
得分:0 
throws Exception 用那么多 try catch 干啥子 浪费代码

2007-03-03 05:04
扯の天堂
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2007-1-30
收藏
得分:0 
直接throws Exception 难道是让windows处理唢!!

2007-03-03 21:55
苍琅
Rank: 1
等 级:新手上路
帖 子:116
专家分:0
注 册:2006-12-11
收藏
得分:0 

谢谢了!~问题解决中……


现实的残酷并不能磨灭我们对生活的渴望! " target="_blank">http://canglangjv.
2007-03-15 11:59
快速回复:2个时间的比较(感谢冰峰大哥,已解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018967 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved