C#开发笔记之15-如何用C#获取某月最大天数?

C#开发笔记之15-如何用C#获取某月最大天数?

C#开发笔记概述

文章目录

概述

本文介绍使用C#获取某月最大天数的4种方法,欢迎大家批评指正。

解释

public static class MonthHelper {

    public static int GetMaxDays(DateTime date) {
        //使用Calendar类获取某月最大天数
        var days = Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(date.Year, date.Month);
        return days;
    }

    public static int GetMaxDays2(DateTime date) {
        //使用下个月第1天的日期减去1天来计算某月最大天数
        var days = date.AddDays(1 - date.Day).AddMonths(1).AddDays(-1).Day;
        return days;
    }

    public static int GetMaxDays3(DateTime date) {
        //使用DaysInMonth静态方法获取某月最大天数
        var days = DateTime.DaysInMonth(date.Year, date.Month);
        return days;
    }

    public static int GetMaxDays4(DateTime date) {
        //使用下个月第1天和当月第1天的时间差来计算某月最大天数
        var d1 = new DateTime(date.Year, date.Month, 1);

        var nextMonth = date.AddMonths(1);
        var d2 = new DateTime(nextMonth.Year, nextMonth.Month, 1);

        var days = (d2 - d1).Days;
        return days;
    }

}

本文由 .Net中文网 原创发布,欢迎大家踊跃转载。

转载请注明本文地址:https://www.byteflying.com/archives/3412

发表评论

登录后才能评论

评论列表(2条)

  • 奔跑
    奔跑 2020年07月22日 22:43

    这个好用,平时算每个月的最大天数,要写很多逻辑语句。会持续关注的。