/// <summary>
        /// 判断时间是否和服务器时间是一天
        /// </summary>
        /// <param name="cs"></param>
        /// <returns></returns>
        public static bool JudgeTimeIsToDay(DateTime cs)
        {

            DateTime start = Convert.ToDateTime(cs.ToShortDateString());
            DateTime end = Convert.ToDateTime(DateTime.Now.ToShortDateString());
            TimeSpan sp = end.Subtract(start);
            ;
        }

        /// <summary>
        /// 计算当前季度多少天
        /// </summary>
        /// <returns></returns>
        public static int DateDiff()
        {
            DateTime start = Convert.ToDateTime(ToFirstDayOfSeason().ToShortDateString());
            DateTime end = Convert.ToDateTime(ToLastDayOfSeason().ToShortDateString());
            TimeSpan sp = end.Subtract(start);

            return sp.Days;
        }

        /// <summary>
        /// 计算当前月有多少天
        /// </summary>
        /// <returns></returns>
        public static int GetMonthDays()
        {
            return System.Threading.Thread.CurrentThread.CurrentUICulture.Calendar.GetDaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
        }

        /// <summary>
        /// 计算本周的周一日期
        /// </summary>
        /// <returns></returns>
        public static DateTime GetMondayDate()
        {
            return GetMondayDate(DateTime.Now);
        }

        /// <summary>
        /// 计算本周周日的日期
        /// </summary>
        /// <returns></returns>
        public static DateTime GetSundayDate()
        {
            return GetSundayDate(DateTime.Now);
        }

        /// <summary>
        /// 获取本月最后一天
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        public static DateTime LastDayOfMonth()
        {
             - DateTime.Now.Day).AddMonths().AddDays(-);
        }

        /// <summary>
        /// 计算本月的第一天
        /// </summary>
        /// <returns></returns>
        public static DateTime FirstDayOfMonth()
        {
             - DateTime.Now.Day);
        }

        /// <summary>
        ///  获取该时间所在季度的第一天
        /// </summary>
        /// <returns></returns>
        public static DateTime ToFirstDayOfSeason()
        {
            return ToFirstDayOfSeason(DateTime.Now);
        }

        /// <summary>
        /// 获取该时间所在季度的最后一天
        /// </summary>
        /// <returns></returns>
        public static DateTime ToLastDayOfSeason()
        {
            return ToLastDayOfSeason(DateTime.Now);
        }

        /// <summary>
        /// 获取该时间所在季度的第一天
        /// </summary>
        /// <param name="target"></param>
        /// <returns></returns>
        public static DateTime ToFirstDayOfSeason(DateTime target)
        {
            int ThisMonth = DateTime.Now.Month;
             ==  ?  : (ThisMonth % )) + ;
            target = target.AddMonths(FirstMonthOfSeason - ThisMonth);

            return Convert.ToDateTime(target.ToString("yyyy-MM-01 HH:mm:ss"));
        }

        /// <summary>
        /// 获取该时间所在季度的最后一天
        /// </summary>
        /// <param name="target"></param>
        /// <returns></returns>
        public static DateTime ToLastDayOfSeason(DateTime target)
        {
            int ThisMonth = DateTime.Now.Month;
             ==  ?  : (ThisMonth % )) + ;
            target = target.AddMonths(FirstMonthOfSeason - ThisMonth);

            ).ToString();
        }

        /// <summary>
        /// 计算本月的第一天
        /// </summary>
        /// <returns></returns>
        public static DateTime FirstDayOfMonth(DateTime datetime)
        {
             - datetime.Day);
        }

        /// <summary>
        /// 获取本月最后一天
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        public static DateTime LastDayOfMonth(DateTime datetime)
        {
             - datetime.Day).AddMonths().AddDays(-);
        }

        /// <summary>
        /// 计算某日起始日期(礼拜一的日期)
        /// </summary>
        /// <param name="someDate">该周中任意一天</param>
        /// <returns>返回礼拜一日期,后面的具体时、分、秒和传入值相等</returns>
        public static DateTime GetMondayDate(this DateTime someDate)
        {
            int i = someDate.DayOfWeek - DayOfWeek.Monday;
            ) i = ;// i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
            TimeSpan ts = , , );
            return someDate.Subtract(ts);
        }

        /// <summary>
        /// 计算某日结束日期(礼拜日的日期)
        /// </summary>
        /// <param name="someDate">该周中任意一天</param>
        /// <returns>返回礼拜日日期,后面的具体时、分、秒和传入值相等</returns>
        public static DateTime GetSundayDate(this DateTime someDate)
        {
            int i = someDate.DayOfWeek - DayOfWeek.Sunday;
            ) i =  - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。
            TimeSpan ts = , , );
            return someDate.Add(ts);
        }

        public static DateTime GetSundayDate(this DateTime someDate, int hour, int minute, int second)
        {
            int i = someDate.DayOfWeek - DayOfWeek.Sunday;
            ) i =  - i;// 因为枚举原因,Sunday排在最前,相减间隔要被7减。
            TimeSpan ts = , , );
            var ret = someDate.Add(ts);

            ret = ret.AddHours(hour - ret.Hour);
            ret = ret.AddMinutes(minute - ret.Minute);
            ret = ret.AddSeconds(second - ret.Second);
            return ret;
        }

C# 自然周,月,季度计算。的更多相关文章

  1. java获取当前时间的年周月季度等的开始结束时间

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * Created b ...

  2. mysql中增加某一时间段内的时间数据(包含:时间、年、月、日、第几周、季度)

    创建表dim_date: create table `dim_date` ( `year` int (20), `month` int (20), `day` int (20), `week` int ...

  3. MySql查询日周月

    常用计算日期的函数 日 date(日期) = CURDATE() 自然周 YEARWEEK(date_format(日期,'%Y-%m-%d') , 1) = YEARWEEK(now() , 1) ...

  4. JS判断,今天所在季度,第几周, 季度的第几周,年度第几周

    <html> <head> <title>日期判断 周 月 季 年</title> <script type="text/javascr ...

  5. Flex自定义组件开发之日周月日期选择日历控件

    原文:Flex自定义组件开发之日周月日期选择日历控件         使用过DateField的我们都知道,DateField 控件是用于显示日期的文本字段,字段右侧带有日历图标.当用户在控件边框内的 ...

  6. pg按日,周,月进行数据统计

    pg数据库按周,月统计数据 SELECT date_trunc('WEEK', insert_time) as insertDate, SUM(data_increment) as dataTotal ...

  7. 按年、季度、月分组&&计算日期和时间的函数

    Mysql 按年.季度.月分组 按月度分组: select DATE_FORMAT(i.created_at, '%Y-%m月')...................GROUP BY DATE_FO ...

  8. 自然周与自然月的Hive统计SQL

    按照周或者月统计活跃数: 周: SELECT week, COUNT(DISTINCT pin), business_type FROM ( SELECT DISTINCT user_log_acct ...

  9. PHP计算多少秒/分/时/天/周/月/年之前 : timeago

    function timeago( $ptime ) { $etime = time() - $ptime; if ($etime < 59) return '刚刚'; $interval = ...

随机推荐

  1. m102 SE赛

    这次考试考完试正在刷提交记录的时候,到我这突然oj卡了一下,然后卡了大约10s,再刷出来就发现:

  2. Vue基础系列(二)——Vue中的methods属性

      写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家指出. 作者简介: 一个不知名的前端开发 ...

  3. css3的过渡和动画的属性介绍

    一.过渡 什么是过渡? 过渡是指:某元素的css属性值在一段时间内,平滑过渡到另外一个值,过渡主要观察的是过程和结果. 设置能够过渡的属性: 支持过渡的样式属性,颜色的属性,取值为数值,transfo ...

  4. Linux如何添加硬盘

    一.命令操作: df       #查看磁盘空间 fdisk     #分区/查看分区 mkfs      #格式化 df  -h(以人类易读) -m(以M为单位读取)            #查看硬 ...

  5. 花一天时间试玩vsphere6.7(EXSI)服务器版的vmware

    花一天时间试玩vsphere6.7(EXSI)服务器版的vmware 要注册账号(2019年11月14注册): 登陆网址:https://my.vmware.com/cn/group/vmware/h ...

  6. 理解clientWidth,offsetWidth,clientLeft,offsetLeft,clientX,offsetX,pageX,screenX

    1. clientWidth:表示元素的内部宽度,以像素计.该属性包括内边距,但不包括垂直滚动条(如果有).边框和外边距.(clientWidth = width + padding) 2. offs ...

  7. Fuzzy模糊推导(Matlab实现)

    问题呈述 在模糊控制这门课程中,学到了与模糊数学及模糊推理相关的内容,但是并不太清楚我们在选择模糊规则时应该如何处理,是所有的规则都需要由人手工选择,还是仅需要选择其中的一部分就可以了.因此,在课程示 ...

  8. pat 1011 World Cup Betting(20 分)

    1011 World Cup Betting(20 分) With the 2010 FIFA World Cup running, football fans the world over were ...

  9. hdu 1068 Girls and Boys (最大独立集)

    Girls and BoysTime Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  10. nyoj 69-数的长度 (log10(),计算数的位数)

    69-数的长度 内存限制:64MB 时间限制:3000ms 特判: No 通过数:10 提交数:13 难度:1 题目描述: N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)····· ...