按yyyy-mm-dd格式输入一个日期,判断这是这一年的第几天
按yyyy-mm-dd格式输入一个日期,判断这是这一年的第几天
随风1993 发表于5个月前
按yyyy-mm-dd格式输入一个日期,判断这是这一年的第几天
  • 发表于 5个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

import java.util.Scanner;

/**
 * @author tj
 * 按yyyy-mm-dd格式输入一个日期,判断这是这一年的第几天
 */
public class CountDate {
    
    public static void main(String[] args){
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            String date = cin.next();
            int day = compute(date);
            System.out.println(day);
        }
    }

    private static int compute(String date) {
        // TODO Auto-generated method stub
        String[] str = date.split("-");
        int a = checkYear(str[0]);
        int b = Integer.parseInt(str[1]);
        int c = Integer.parseInt(str[2]);
        int days = 0;
        if(a==1){//闰年
            
            for(int i=1;i<b;i++){
                if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
                    days+=31;
                }else if(i==2){ 
                    days+=29;
                }else{
                    days+=30;
                }
            }
            
        }else{//平年
            for(int i=1;i<b;i++){
                if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
                    days+=31;
                }else if(i==2){ 
                    days+=28;
                }else{
                    days+=30;
                }
            }
        }
        
        
        
        return days+c;
    }

    private static int checkYear(String string) {
        // TODO Auto-generated method stub
        int year = Integer.parseInt(string);
        if(year%400==0){
            return 1;
        }else{
            if(year%4==0){
                return 1;
            }else{
                return 0;
            }
        }
        
    }

}

共有 人打赏支持
粉丝 0
博文 9
码字总数 2110
×
随风1993
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: