java 一年中的第几天_java中计算指定日期是一年的第几天的方法
Java输入日期计算是这年的第几天:
思路
通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天;
1、3、5、7、8、10、12 月份 31 天其余月份均为 30 天;
然后将每个月的天数相加即可,注意如果输入的是 12 月份,则是从 11 月份往前累加到1月份,1月份加的是输入的天数;
实现代码:import java.util.Scanner;
/**
* Created by xpf on 2018/6/22 :)
* GitHub:xinpengfei520
* Function:
*/
public class CalculateUtils {
/*平年二月28天*/
private static final int DAYS_28 = 28;
/*闰年二月29天*/
private static final int DAYS_29 = 29;
/*除了31天的月份其他均为30天*/
private static final int DAYS_30 = 30;
/*1、3、5、7、8、10、12月份31天*/
private static final int DAYS_31 = 31;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please input year:");
int year = input.nextInt();
System.out.println("Please input month:");
int month = input.nextInt();
System.out.println("Please input day:");
int day = input.nextInt();
int daysInYear = getDaysInYear(year, month, day);
System.out.println("daysInYear:" + daysInYear);
}
/**
* get days in this year
*
* @param year
* @param month
* @param day
* @return
*/
public static int getDaysInYear(int year, int month, int day) {
int totalDays = 0;
switch (month) {
// 12 月份加的是11月份的天数,依次类推
case 12:
totalDays += DAYS_30;
case 11:
totalDays += DAYS_31;
case 10:
totalDays += DAYS_30;
case 9:
totalDays += DAYS_31;
case 8:
totalDays += DAYS_31;
case 7:
totalDays += DAYS_30;
case 6:
totalDays += DAYS_31;
case 5:
totalDays += DAYS_30;
case 4:
totalDays += DAYS_31;
case 3:
// 判断是否是闰年
if (((year / 4 == 0) && (year / 100 != 0)) || (year / 400 == 0)) {
totalDays += DAYS_29;
} else {
totalDays += DAYS_28;
}
case 2:
totalDays += DAYS_31;
case 1: // 如果是1月份就加上输入的天数
totalDays += day;
}
return totalDays;
}
}
因为只有2月份的天数和输入的 day 天数是不固定的,其他月份的天数是固定的,而固定的天数是可以通过输入的月份算出来,这样我们就可以这样计算:
2 月份的天数 + 输入的天数 + 计算出来的固定天数
更多java知识请关注java基础教程。
java 一年中的第几天_java中计算指定日期是一年的第几天的方法相关推荐
- 日是这一年的等几天Java代码_java中计算指定日期是一年的第几天的方法
Java输入日期计算是这年的第几天: 思路 通过年份区分出是闰年还是平年,平年 2 月 28 天,闰年 2 月 29 天: 1.3.5.7.8.10.12 月份 31 天其余月份均为 30 天: 然后 ...
- java求圆的面积和周长_java中计算圆的面积和周长的代码要求使用get和set方法?...
我这有写好的用get和set方法计算长方形的面积和周长的,我想圆的你也可以参照写,就是计算公式稍微修改一下就可以.代码如下:/** * 长方形类 */class Rectangle{ /** * 宽 ...
- java计算指定日期的上个月
文章目录 java计算指定日期的上个月 Calendar类 API 代码实现 java计算指定日期的上个月 Calendar类 Calendar类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方 ...
- 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。
提供源码:java获取节假日.工作日,存入数据库,查找指定日期前一天,后一天. 码云地址: https://gitee.com/guyuanman/holiday 业务场景: 好多公司的业务在处理的时 ...
- java 一年中的第几天_Java计算某个日期是一年中的第几天
比如2020年12月31日,是2020年的第366天.那么如何计算这个第几天呢? 首先当然是小学常识,给定的年份不是平年(一年365天),就是闰年(一年366天),平年1月到12月,每月分别有31, ...
- java 8位随机数_JAVA中生成指定位数随机数的方法总结
JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...
- Java传统的io和nio区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...
- java无参_Java中无参无返回和无参带返回的类型方法
在前面的文章中,我们学习了java中方法的定义.分类及调用的相关知识.知道了java中的方法其实可以叫做函数,目的是实现某些我们想要的功能,也知道了java中方法的分类共有四种:无参无返回.无参带返回 ...
- java static关键字的作用是什么_java中的static关键字
一.static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概念,在Java中static表示"全局"或者 ...
最新文章
- 用python画四叶草代码-python turtle工具绘制四叶草的实例分享
- javascript系列-class10.DOM(下)
- 富文本编辑器 java_Java开发之富文本编辑器TinyMCE
- [Umbraco] 创建第一个页面
- ---WebCam网络摄像头6 编译WebCam
- 决策树编程python_Python如何制定决策:编程中的控制流简介
- rnn神经网络模型_ICLR 2019 | 与胶囊网络异曲同工:Bengio等提出四元数循环神经网络...
- Linux系统下poll的使用方式
- (转)任正非圣诞文章:千古兴亡多少事,一江春水向东流,为轮值CEO鸣锣开道...
- 台达触摸屏MODBUS直接与台达变频器通讯程序
- 安卓模拟器安装教程_雷电安卓模拟器v4.0.38绿色免安装版——墨涩网
- win64 oracle下载,oracle 11g 64位下载
- 微型计算机原理第三版第五章答案,微机原理第五章习题答案
- 谈谈扫码支付的实现流程
- 定义多边形类,继承产生矩形类和正多边形类
- HTML5中thead标签,【HTML5】table标签中thead、tbody、tfoot的作用
- 获取当前日期的上一个月和后三个月。
- 新零售线上+线下的完美营销
- 李喆:程序员到底怎么了
- DSN1COPY错误-SP映射页面错误
热门文章
- java爬树方法,荒野求生徒手爬树技巧
- 把不确定的长度的列表用逗号隔开
- 【网络协议笔记】TCP/UDP 协议整理
- pdf转换成word转换器官方版
- 全国计算机速录等级...,全国计算机速录等级考试.ppt
- 高端旗舰投影仪选购指南:当贝X3 Pro、当贝F5观影更沉浸!
- python日期和时间_Python日期和时间
- 苹果手机几月份最便宜_苹果手机哪款电池最耐用
- asp 采集系统_在微服务框架中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统
- matplotlib如何设置xlabel以及ylabel的位置和大小