A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 776699 中级黑马   /  2013-12-29 16:40  /  1596 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

通过:一下代码:
Calendar cl=Calendar.getInstance();
cl.set(1000,2,1);
cl.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(cl.get(Calendar.DAY_OF_MONTH));
通过以上代码:获取1000年 的二月分 天数为 29天。 为闰年
但是我的疑问是:
算闰年的方法是:year%4==0&&!Year%100==0||Year%400==0;

通过比较,第二种方法1000为 闰年不成立!!
希望大神门给点指点!!Thanks!!

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

10 个回复

倒序浏览
如果不加括号你看着累,别人看着也累。你这个问题很奇葩,我号称java天下第一,但是你的问题真解不了。
求高人解题。。
回复 使用道具 举报
果然很奇怪,期待高人解答。
回复 使用道具 举报
兄弟你真的很强
回复 使用道具 举报
汪洋大海 发表于 2013-12-29 17:22
如果不加括号你看着累,别人看着也累。你这个问题很奇葩,我号称java天下第一,但是你的问题真解不了。
求 ...

O(∩_∩)O~,我想了想,没想明白。呵呵,兄弟在黑马第几期?
回复 使用道具 举报

唉,遇到这问题,就不了只能求助于黑马兄弟们了
回复 使用道具 举报
776699 中级黑马 2013-12-29 20:38:47
7#
本帖最后由 776699 于 2013-12-29 20:40 编辑

通过查 相关资料,查询结果如下:
在信息不足时将采用缺省设置, 在GregorianCalendar 类 中缺省设置一般为 YEAE=1970,MONTH=JANUARY,DATE=1;也与计算机的诞生相关,所以,在1970年之前,不能再依照第一种方法算起,所以第二种方法为准。O(∩_∩)O~O(∩_∩)O~
回复 使用道具 举报
776699 中级黑马 2013-12-29 20:50:42
8#
浮出一个美 发表于 2013-12-29 18:41
果然很奇怪,期待高人解答。

问题解决了,呵呵
回复 使用道具 举报
776699 中级黑马 2013-12-29 20:51:52
9#

这个和计算机的录入起始时间相关的,第一种方法要从1970-1-1号算起,才能生效。O(∩_∩)O~
回复 使用道具 举报
776699 发表于 2013-12-29 20:38
通过查 相关资料,查询结果如下:
在信息不足时将采用缺省设置, 在GregorianCalendar 类 中缺省设置一般为 ...

你的意思是1970年1月1日以前的时间都算作默认的1970年1月1日?
Calendar cl = Calendar.getInstance();
                cl.set(1111, 2, 1);
                cl.add(Calendar.DAY_OF_MONTH, -1);
                System.out.println(cl.get(Calendar.DAY_OF_MONTH));
这个输出又是28
回复 使用道具 举报
776699 中级黑马 2013-12-30 01:40:56
11#
浮出一个美 发表于 2013-12-29 20:57
你的意思是1970年1月1日以前的时间都算作默认的1970年1月1日?
Calendar cl = Calendar.getInstance();
         ...

  此方法只能用在1970-1-1以后,以前不能用方法判断,若还不明白,参看API Calendar 类,有说明。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马