Date 类如何使用?

cshnet7 2008-01-15 10:06:11
我想实现这样的功能:
求两个给定的月/日/时/分的时间之间相隔了多少小时多少分钟,如何实现? 谢谢!
...全文
128 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
上面的代码有些问题,改正一下:

import java.util.GregorianCalendar;

public class Test {
public static void main(String[] args) {
GregorianCalendar calendar1 = new GregorianCalendar();
GregorianCalendar calendar2 = new GregorianCalendar();

calendar1.set(2007, 7, 14, 9, 00, 00);
calendar2.set(2007, 7, 14, 18, 30, 22);

long t0 = calendar1.getTimeInMillis();
long t1 = calendar2.getTimeInMillis();
long diff = t1 - t0;

long dateDiff = diff / (24L * 3600L * 1000L);
diff %= 24L * 3600L * 1000L;
long hourDiff = diff / (3600L * 1000);
diff %= 3600L * 1000L;
long minuteDiff = diff / (60L * 1000L);
diff %= 60L * 1000L;
long second = diff / 1000L;

System.out.printf("相差:%d天%d小时%d分%d秒",
dateDiff,
hourDiff,
minuteDiff,
second);
}
}
  • 打赏
  • 举报
回复
import java.util.GregorianCalendar;

public class Test {
public static void main(String[] args) {
GregorianCalendar calendar1 = new GregorianCalendar();
GregorianCalendar calendar2 = new GregorianCalendar();

calendar1.set(2007, 7, 14, 9, 00, 00);
calendar2.set(2007, 7, 14, 18, 30, 00);

long t0 = calendar1.getTimeInMillis();
long t1 = calendar2.getTimeInMillis();
long diff = t1 - t0;

long dateDiff = diff / (24L * 3600L * 1000L);
diff %= 24L * 3600L * 1000L;
long hourDiff = diff / (3600L * 1000);
diff %= 3600L * 1000L;
long minuteDiff = diff / (60L * 1000L);
diff %= 60L * 1000L;

System.out.printf("相差:%d天%d小时%d分%d秒",
dateDiff,
hourDiff,
minuteDiff,
diff);
}
}
cshnet7 2008-01-15
  • 打赏
  • 举报
回复
GregorianCalendar calendar1 = new GregorianCalendar();
GregorianCalendar calendar2 = new GregorianCalendar();

calendar1.set(2007, 7, 14, 9, 00, 00);
calendar2.set(2007, 7, 14, 18, 30, 00);

我现在要求calendar1 和 calendar2之间相隔了几小时几分钟, 请给具体代码。谢谢。
xiaoruozhi 2008-01-15
  • 打赏
  • 举报
回复
为什么不用Calendar 类呢
cshnet7 2008-01-15
  • 打赏
  • 举报
回复
拜托给点完整代码!谢谢!!
shili150 2008-01-15
  • 打赏
  • 举报
回复
Date date=new Date();
s=date.getTime();
  • 打赏
  • 举报
回复
PS:getTime返回的是long型数据,注意一下。
  • 打赏
  • 举报
回复
使用Date中的getTime()返回毫秒数,再根据这两个日期的毫秒数之差进行计算。
cshnet7 2008-01-15
  • 打赏
  • 举报
回复
多谢bao110908。我起初以为有现成的java方法解决。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧