输入一个日期判断是这一年的第几天?

package com.lgs.li;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Test04 {
    /**
     * 输入某年某月某日,判断这一天是这一年的第几天?
     * @throws ParseException 
     * 
     */
    public static void main(String[] args) throws ParseException {
         int year;
         int mouth;
         int day;
         int e;     //用于循环
         Scanner scanner = new Scanner(System.in);
         do {                                           //使用do~while()可以在do语句中进行初始化
             e=0;                                       //while语句的话,必须手动初始化,因为局部变量初始化必须手动赋值
             System.out.println("输入年:");
             year = scanner.nextInt();
             System.out.println("输入月:");
             mouth = scanner.nextInt();
             System.out.println("输入日:");
             day = scanner.nextInt();
             if (mouth < 0 || mouth > 12 || day < 0 || day > 31) {
                 System.out.println("输入格式错误,请重新输入!!!");
                 e = 1;
             }
         } while (e == 1);
         Date date1 = new Date(year, mouth-1, day+1);           //月份从零开始,天数从一开始
         Date date2 = new Date(year, 0, 1);                     //所以,真正的月份要减一,天数加一才是真正的结果
         long l1 = date1.getTime();
         long l2 = date2.getTime();
         //天数
         int days =(int)((l1-l2)/(24*3600*1000));               //一天=24*60*60*1000(mill)

         System.out.println("这是"+year+"年的第"+days+"天");
    }

}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值