佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1264|回复: 6

如何用Java算出两个1970年之前的日期相隔多少天?

[复制链接]
发表于 17-4-2007 07:35 PM | 显示全部楼层 |阅读模式
请问java有没有像vb的DateDiff之类很方便计算日期的工具?而且要能计算1970年
之前的日期。
我上网搜索一下,找到的全是计算1970年之後日期的方法。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 18-4-2007 07:09 PM | 显示全部楼层

回复 #1 sktan007 的帖子

我知道如何使用C++写这个日期program, 但这只是整个Java系统中的
一小部份,该如何用C++写好後,compiling成可以被Java call的
Class, 我就不会了,这包括传如何将整个Class当成参数进去与传回
来等,请帮帮忙。
谢谢!

[ 本帖最后由 sktan007 于 18-4-2007 07:20 PM 编辑 ]
回复

使用道具 举报

发表于 20-4-2007 11:46 AM | 显示全部楼层
回复

使用道具 举报

发表于 20-4-2007 05:48 PM | 显示全部楼层
double diff = GregorianCalendar - GregorianCalendar

// chg to days
day = round (diff / (1000 * 60 * 60 * 24))
回复

使用道具 举报

 楼主| 发表于 20-4-2007 08:37 PM | 显示全部楼层
原帖由 hax123 于 20-4-2007 05:48 PM 发表
double diff = GregorianCalendar - GregorianCalendar

// chg to days
day = round (diff / (1000 * 60 * 60 * 24))



我的program如下,
GregorianCalendar f3 = new GregorianCalendar(1903, Calendar.DECEMBER, 17);
GregorianCalendar f4 = new GregorianCalendar(1961, Calendar.JULY, 17);
double f5 = (f4 - f3) / (1000 * 24 * 3600);
long f6 = round(f5);
System.out.println("f6 = " + f6);
结果,在netBean5.5,Java SDK1.6不过关。死在double f5和long f6两行。
回复

使用道具 举报

发表于 22-4-2007 09:08 AM | 显示全部楼层
  1.         GregorianCalendar c1 = new GregorianCalendar(1907,Calendar.JULY,17);

  2.         GregorianCalendar c2 = new GregorianCalendar(1961,Calendar.JULY,17);


  3.         long diff = c2.getTimeInMillis() - c1.getTimeInMillis();

  4.         int days = Math.round(diff/(24*60*60*1000));

  5.         System.out.println(days);
复制代码

漏掉了toTimeInMilis()
回复

使用道具 举报

Follow Us
 楼主| 发表于 22-4-2007 10:13 AM | 显示全部楼层

回复 #6 苦瓜汤 的帖子

谢谢苦瓜汤大大,真的解决了!
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 29-8-2025 09:37 PM , Processed in 0.126540 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表