一年中的第几天

给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。

示例 1:

输入:date = "2019-01-09"
输出:9
解释:给定日期是2019年的第九天。
示例 2:

输入:date = "2019-02-10"
输出:41

截取标记每个月和特殊的闰月

class Solution {
    public int dayOfYear(String date) {
        //分别获取年月日,进行计算
        int amount[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        int year = Integer.parseInt(date.substring(0,4));
        int month = Integer.parseInt(date.substring(5,7));
        int day = Integer.parseInt(date.substring(8,10));
        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
            ++amount[1];
        }
        for(int i=0;i<month-1;i++){
            day+=amount[i];
        }
        return day;
    }
}
posted @ 2023-08-02 10:05  网抑云黑胶SVIP用户  阅读(29)  评论(0编辑  收藏  举报