实时

您的位置:首页>品牌 >

环球热门:怎么计算一年的天数_一年的天数怎么确定

你们好,最近小未来发现有诸多的小伙伴们对于怎么计算一年的天数,一年的天数怎么确定这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。


(相关资料图)

1、在编写代码之前,要适当考虑如何计算,而不是拿到一个题目,打开编译器就立刻开始做。首先,我们需要一个时间类型来封装我们的年、月、日属性,我们需要一些计算天数的方法。

2、公历年,要区分闰年和平年,那么首先要有一个判断是不是闰年的函数。其次,我们要计算2002年到2017年有多少个平年和闰年,然后再计算这些年过去了多少天。

3、最后还要加上2017年6月23日已经发生的时间,即计算从元旦到6月23日用了多少天,相应减去高估,3个月10天。

4、但是,这几个月,天数也有变化。理清逻辑后再编码。

5、如上所述,我们需要封装时间类。

6、package day2.homework1;

7、public class MyDate {

8、int year;

9、int month;

10、int day;

11、public MyDate(int year, int month, int day) {

12、super();

13、this.year=year;

14、this.month=month;

15、this.day=day;

16、}

17、public int getYear() {

18、return year;

19、}

20、public void setYear(int year) {

21、this.year=year;

22、}

23、public int getMonth() {

24、return month;

25、}

26、public void setMonth(int month) {

27、this.month=month;

28、}

29、public int getDay() {

30、return day;

31、}

32、public void setDay(int day) {

33、this.day=day;

34、}

35、}

36、其次,判断今年是不是闰年。

37、/**

38、*获取年份是否是闰年。

39、* @param year

40、* @return

41、*/

42、public boolean checkLeap(int year) {

43、boolean flag=false;

44、if(0==year%40!=year%100||0==year%400)

45、{

46、flag=true;

47、}

48、return flag;

49、}

50、获取一年中的天数

51、/**

52、*获取一年中的天数

53、* @param year

54、* @return

55、*/

56、public int getDaysOfYear(int year) {

57、int count=365;

58、if(checkLeap(year))

59、{

60、count=366;

61、}

62、return count;

63、}

64、获取一个月中的天数。

65、/**

66、*获取一个月中的天数

67、* @param month

68、* @return

69、*/

70、public int getDaysOfMonth(int year,int month) {

71、int count=0;

72、switch(month)

73、{

74、case 1:

75、count=31;

76、break;

77、case 2:

78、if(checkLeap(year))

79、{

80、count=29;

81、}

82、else

83、{

84、count=28;

85、}

86、break;

87、case 3:

88、count=31;

89、break;

90、case 4:

91、count=30;

92、break;

93、case 5:

94、count=31;

95、break;

96、case 6:

97、count=30;

98、break;

99、case 7:

100、count=31;

101、break;

102、case 8:

103、count=31;

104、break;

105、case 9:

106、count=30;

107、break;

108、case 10:

109、count=31;

110、break;

111、case 11:

112、count=30;

113、break;

114、case 12:

115、count=31;

116、break;

117、}

118、return count;

119、}

120、根据计算方法实现我们的算法。

121、public int getDays() {

122、int count=0;

123、/**

124、*计算某年-某年的具体天数。

125、*/

126、for(int i=date1.year;idate2.year;i++)

127、{

128、count+=getDaysOfYear(i);

129、}

130、/**

131、*将去年的月份相加。

132、*/

133、for(int i=1;idate2.month;i++)

134、{

135、count+=getDaysOfMonth(date2.year,i);

136、}

137、/**

138、*去年加入的天数

139、*/

140、count+=date2.day;

141、/**

142、*减去第一年的时间。

143、*/

144、for(int i=1;idate1.month;i++)

145、{

146、count-=getDaysOfMonth(date1.year,i);

147、}

148、count-=date1.day;

149、return count;

150、}

151、//源代码类

152、package day2.homework1;

153、public class MyCalendar {

154、MyDate date1;

155、MyDate date2;

156、public MyCalendar(MyDate date1, MyDate date2) {

157、super();

158、this.date1=date1;

159、this.date2=date2;

160、}

161、public int getDays() {

162、int count=0;

163、/**

164、*计算某年-某年的具体天数。

165、*/

166、for(int i=date1.year;idate2.year;i++)

167、{

168、count+=getDaysOfYear(i);

169、}

170、/**

171、*将去年的月份相加。

172、*/

173、for(int i=1;idate2.month;i++)

174、{

175、count+=getDaysOfMonth(date2.year,i);

176、}

177、/**

178、*去年加入的天数

179、*/

180、count+=date2.day;

181、/**

182、*减去第一年的时间。

183、*/

184、for(int i=1;idate1.month;i++)

185、{

186、count-=getDaysOfMonth(date1.year,i);

187、}

188、count-=date1.day;

189、return count;

190、}

191、/**

192、* 获取每个月的天数

193、* @param month

194、* @return

195、*/

196、public int getDaysOfMonth(int year,int month) {

197、int count=0;

198、switch(month)

199、{

200、case 1:

201、count=31;

202、break;

203、case 2:

204、if(checkLeap(year))

205、{

206、count=29;

207、}

208、else

209、{

210、count=28;

211、}

212、break;

213、case 3:

214、count=31;

215、break;

216、case 4:

217、count=30;

218、break;

219、case 5:

220、count=31;

221、break;

222、case 6:

223、count=30;

224、break;

225、case 7:

226、count=31;

227、break;

228、case 8:

229、count=31;

230、break;

231、case 9:

232、count=30;

233、break;

234、case 10:

235、count=31;

236、break;

237、case 11:

238、count=30;

239、break;

240、case 12:

241、count=31;

242、break;

243、}

244、return count;

245、}

246、/**

247、* 获取某年的天数

248、* @param year

249、* @return

250、*/

251、public int getDaysOfYear(int year) {

252、int count=365;

253、if(checkLeap(year))

254、{

255、count=366;

256、}

257、return count;

258、}

259、/**

260、* 获取该年是否是闰年

261、* @param year

262、* @return

263、*/

264、public boolean checkLeap(int year) {

265、boolean flag=false;

266、if(0==year%40!=year%100||0==year%400)

267、{

268、flag=true;

269、}

270、return flag;

271、}

272、}

273、//我们编写测试类进行测试

274、package day2.homework1;

275、public class TestMyCalendar {

276、public static void main(String[] args) {

277、MyDate date1=new MyDate(2002,03,10);

278、MyDate date2=new MyDate(2017,06,23);

279、MyCalendar calendar=new MyCalendar(date1,date2);

280、System.out.println(calendar.getDays());

281、}

282、}

以上就是一年的天数怎么确定这篇文章的一些介绍,希望对大家有所帮助。

关键词:

推荐阅读
你们好,最近小未来发现有诸多的小伙伴们对于怎么计算一年的天数,一年的天数怎么确定这个问题都颇为感兴趣的,今天小活为大家梳

2023-04-23 08:11:31

由我国研制的世界首台兆瓦级高温超导感应加热装置,日前在黑龙江正式投用。该装置可以利用加热新技术,对大尺寸金属工件快速高效加热,节能减

2023-04-23 07:44:30

1、根据资料记载,公元2021年,公历平年,共365天,53周。2、农历辛丑年(牛年),无闰月,共354天。3、因此,2

2023-04-23 07:30:14

逐浪扬帆驰骋万里海疆,披坚执锐筑起海上长城。4月23日是人民海军成立74周年纪念日,为了迎接即将到来的74岁生日,22日

2023-04-23 06:37:50

1、欧班·永利(YongliOUBAN),男,2000年4月15日出生于加拿大,中国冰球运动员。2、。

2023-04-23 06:01:04

1、只需要回答第二题了哈。2、将e2的公式改为:=sumproduct((a2:a1000= "张三 ")*(b2:b10001)*(C2:C1000= "女 ")*d

2023-04-23 05:43:13

1、 s病分析:做头部CT可以大致看到大脑内部。2、头部CT只能检查人体横断面,可以扫描成像。3、所以头颅CT可以大致看

2023-04-23 04:57:09

1、买到电子票之后去电影院的机子哪取票,用的是你订票的号码就可以,一般网上订票都是可以定座位的。2、没有人少人多能不能看的问题。本文到

2023-04-23 04:11:42

咕咕咕咕咕咕更新了pid106800537,我也在等画师更新p3p画师没有画一花的100608274上面这组只有五月放得出来,想要的请私信up主或者自己上pixiv

2023-04-23 03:34:59

你们好,最近小品发现有诸多的小伙伴们对于擦鞋英语,擦鞋这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。1

2023-04-23 02:51:14

昨天晚上,湖南省第十届少数民族传统体育运动会民族健身操项目在结束规定动作第二轮比赛后,所有民族健身操项目均已完成比拼,这也是湖南省第

2023-04-23 02:45:27

文 羊城晚报全媒体记者吕航北京时间4月22日,潜在状元秀、法国中锋维克托·文班亚马正式宣布参加今年NBA选秀大会。文班

2023-04-23 01:23:23

4月22日,在2023ATP250级别赛巴尼亚卢卡站男单四分之一决赛中,世界第一德约科维奇在关键分上出现离谱失误后,爆冷

2023-04-23 01:07:25

4月21日上午,商务部部长王文涛在巴黎与法国外交部外贸部长级代表贝什特举行会谈,就落实中法元首经贸共识、扩大双边贸易投资合作、进一步便利

2023-04-23 00:56:35

1、vram是显存fps画面刷新率rtt往返延时ping延迟rtt和ping高的话游戏会延迟ping

2023-04-22 23:48:30

来自40万米高空的凝望!200余颗在轨遥感卫星守护“美丽中国”

2023-04-22 23:00:31

人其实不可能真正的感动别人,人只可能自己感动自己,人总是喜欢追求最优选择,但是追求最优选择的后果,往往事与愿违,往往是那些善良的愿望

2023-04-22 22:47:23

搜狐体育消息,北京时间4月21日,中超联赛成都蓉城对阵沧州雄狮,艾克森头球破门,收获回归中超首球。比赛第20分钟,蓉城角球开出,艾克森头球

2023-04-22 22:07:57

1、宋春阳,山东省乳山市人,青岛农业大学教授。2、山东省畜牧兽医学会养猪专业委员会副主任。本文到此分享完毕,希望对大

2023-04-22 21:39:39

中新网拉萨4月22日电(李林)4月22日,由共青团西藏自治区委员会、西藏自治区科学技术协会主办、西藏青少年实践教育基地承办的“学习二十大·永

2023-04-22 20:49:35