编程获取一年中具体过去的时间

编程获取一年中具体过去的时间

一年中我们该如何去计算它已经过去的时间呢,时间短的话我们可以很快的去算出来 ,如:2020年1月5日,看见这个我们可以很快的算出它只过去了5天,那如果月份增大呢,如8月、9月…,或者是不是整月的时候又该如何去计算,慢慢数吗,可能这会浪费太多的时间,而且其中还要分清出闰年和平年,因为它们的2月份所包含的天数是不一样的,这里我们要区分一下。现在我们来用编程实现以下题目:
题目:
要求我们用代码实现输入任何一年中某个月的某一天,然后求出这一年具体过了多少天?
判断闰年平年的公式:
year%100!=0 && year%4==0

详细代码如下:

public static void main(String[] args) {
//创建键盘扫描器
Scanner a = new Scanner(System.in);
//提醒用户输入年份
System.out.println(“请输入年份:”);
//接收用户输入的年份
int year = a.nextInt();
//提醒用户输入月份
System.out.println(“请输入月份:”);
//接收用户输入的月份
int month = a.nextInt();// 1-(month-1)的天数之和
//提醒用户输入日期
System.out.println(“请输入日期:”);
//接收用户输入的日期
int day = a.nextInt();
int sum = 0;
//计算month-1月份的天数之和
switch (month-1) {
    case 0:
       sum = 0;//
       break;
    case 1:
       sum = 31;//1月的天数
       break;
    case 2:
       sum =59;//1-2月的天数(此时的2月份按平年计算:28天)之和
       break;
    case 3:
       sum =90;//1-3月的天数之和
       break;
    case 4:
       sum =120;//1-4月的天数之和
       break;
    case 5:
       sum =151;//1-5月的天数之和
       break;
    case 6:
       sum =181;//1-6月的天数之和
       break;
    case 7:
       sum =212;//1-7月的天数之和
       break;
    case 8:
       sum =243;//1-8月的天数之和
       break;
    case 9:
       sum =273;//1-9月的天数之和
       break;
    case 10:
       sum =304;//1-10月的天数之和
       break;
    case 11:
       sum =334;//1-11月的天数之和
       break;
}
//判断输入的月份是否大于2,大于2需要要判断它是闰年还是平年
if (month>2) {
     if (year%100!=0 && year%40 || year%4000) {
      System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day+1)+“天”);
     }else {
      System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day)+“天”);
     }
     }else {
     System.out.println(year+“年”+month+“月”+day+“日是这一年的第”+(sum+day)+“天”);
     }
   //关闭扫描器
   a.close();
}

代码完了之后运行,然后随便输入一个年月日,查看结果是否正确,下面是我输入的2020年5月21日,结果是这一年过了142天,喜欢的朋友可以自己写来实现一下:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值