【LeetCode每日一题】1154. 一年中的第几天(直接计算+调用库函数)

2023-12-31

1154. 一年中的第几天

在这里插入图片描述

方法一:直接计算
思路:

1.根据所给的字符串,分别截取出年月日的信息,转化成整数

2.根据当前年份,判断是否为闰年,是闰年:二月加1

3.之前月份天数之和,最后加上天数的信息

 
public int dayOfYear(String date) {
   
        int year = Integer.parseInt(date.substring(0, 4));
        int month = Integer.parseInt(date.substring(5, 7));
        int day = Integer.parseInt(date.substring(8));
        //调用substring分别截取出年月日的信息,转化为整数

        int[] monthes = {
   31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        //每个月份的天数
        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
   
            ++monthes[1];
        }//如果当前的闰年,二月加1天(直接改变月份字典中的数)

        int ans = 0;
        for (int i = 0; i < month - 1; ++i) {
   
            ans += monthes[i];//每个月天数之和
        }
        return ans + day;
    }
方法二:调用库函数
思路

1.指定日期字符串的格式

2.解析为 LocalDate 对象

3.返回该日期在其所属年份中的天数

    private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//定义了一个 DateTimeFormatter 对象,它指定了日期字符串的格式为 "yyyy-MM-dd"

    public int dayOfYear2(String date) {
   
        return LocalDate.parse(date, formatter).getDayOfYear();
        //LocalDate.parse() 方法将日期字符串解析为 LocalDate 对象
        //getDayOfYear() 方法则返回该日期在其所属年份中的天数
    }

点击移步博客主页,欢迎光临~

偷cyk的图

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-31 17:58:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-31 17:58:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-31 17:58:02       82 阅读
  4. Python语言-面向对象

    2023-12-31 17:58:02       91 阅读

热门阅读

  1. pyqt的qlabel样式调整办法

    2023-12-31 17:58:02       58 阅读
  2. CJ系列D-Net使用手册

    2023-12-31 17:58:02       49 阅读
  3. VIM8 文本实战学习

    2023-12-31 17:58:02       52 阅读
  4. 算法训练营Day32

    2023-12-31 17:58:02       61 阅读
  5. WPF 基础入门(样式)

    2023-12-31 17:58:02       61 阅读
  6. 什么是ajax,为什么使用ajax?

    2023-12-31 17:58:02       66 阅读
  7. ssh连接docker与宿主机进入docker环境变量不一致

    2023-12-31 17:58:02       72 阅读
  8. 多开工具对手机应用启动速度的优化与改进

    2023-12-31 17:58:02       60 阅读