C# 常用日期取得

列举一下常用的日期取得方法

    static class DateTimeDemo
    {
        public static DateTime FirstDayOfMonth(this DateTime value)
        {
            return new DateTime(value.Year, value.Month, 1);
        }
        public static DateTime LastDayOfMonth(this DateTime value)
        {
            return value.FirstDayOfMonth().AddMonths(1).AddDays(-1);
        }
        public static DateTime LastSecondOfDay(this DateTime value)
        {
            return value.Date.AddDays(1).AddSeconds(-1);
        }

        public static DateTime FirstDayOfLastMonth(this DateTime value)
        {
            return value.FirstDayOfMonth().AddMonths(-1);
        }
        public static int DaysInMonth(this DateTime value)
        {
            return DateTime.DaysInMonth(value.Year, value.Month);
        }

        public static DateTime DayOfYear(int month, int day)
        {
            return new DateTime(DateTime.Now.Year, month, day);
        }

        public static DateTime DayOfNextMonth(this DateTime value, int month)
        {
            return value.AddMonths(month).AddDays(-1);
        }

        public static DateTime StartOfDay(this DateTime theDate)
        {
            return theDate.Date;
        }

        public static DateTime EndOfDay(this DateTime theDate)
        {
            return theDate.Date.AddDays(1).AddTicks(-1);
        }

        public static DateTime QuarterStart(this DateTime dt)
        {
            return dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day);
        }

        public static DateTime QuarterEnd(this DateTime dt)
        {
            return dt.QuarterStart().AddMonths(3).AddDays(-1);
        }
    }

测试结果:

 

posted @ 2018-03-13 13:52  浪橙悠悠  阅读(248)  评论(0编辑  收藏  举报