C#获取周一、周日的日期 函数类

摘要:
=0)i=7-i;//因为枚举原因,Sunday排在最前,相减间隔要被7减。
#region 得到一周的周一和周日的日期
        /// <summary>
        ///计算本周的周一日期
        /// </summary>
        /// <returns></returns>
        public staticDateTime GetMondayDate()
        {
            returnGetMondayDate(DateTime.Now);
        }
        /// <summary>
        ///计算本周周日的日期
        /// </summary>
        /// <returns></returns>
        public staticDateTime GetSundayDate()
        {
            returnGetSundayDate(DateTime.Now);
        }
        /// <summary>
        ///计算某日起始日期(礼拜一的日期)
        /// </summary>
        /// <param name="someDate">该周中任意一天</param>
        /// <returns>返回礼拜一日期,后面的具体时、分、秒和传入值相等</returns>
        public staticDateTime GetMondayDate(DateTime someDate)
        {
            int i = someDate.DayOfWeek -DayOfWeek.Monday;
            if (i == -1) i = 6;//i值 > = 0 ,因为枚举原因,Sunday排在最前,此时Sunday-Monday=-1,必须+7=6。
            TimeSpan ts = new TimeSpan(i, 0, 0, 0);
            returnsomeDate.Subtract(ts);
        }
        /// <summary>
        ///计算某日结束日期(礼拜日的日期)
        /// </summary>
        /// <param name="someDate">该周中任意一天</param>
        /// <returns>返回礼拜日日期,后面的具体时、分、秒和传入值相等</returns>
        public staticDateTime GetSundayDate(DateTime someDate)
        {
            int i = someDate.DayOfWeek -DayOfWeek.Sunday;
            if (i != 0) i = 7 - i;//因为枚举原因,Sunday排在最前,相减间隔要被7减。
            TimeSpan ts = new TimeSpan(i, 0, 0, 0);
            returnsomeDate.Add(ts);
        }
        #endregion

 

////////////////////////////////////////收集其它的方法/////////////////////////////////////
DateTime dt = DateTime.Now;  //当前时间
DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一
DateTime endWeek = startWeek.AddDays(6);  //本周周日
DateTime startMonth = dt.AddDays(1 - dt.Day);  //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);  //本月月末
//DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1);  //本月月末
DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day);  //本季度初
DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);  //本季度末
DateTime startYear = new DateTime(dt.Year, 1, 1);  //本年年初
DateTime endYear = new DateTime(dt.Year, 12, 31);  //本年年末

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoyz_1/archive/2009/01/15/3785705.aspx

免责声明:文章转载自《C#获取周一、周日的日期 函数类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python 连接oracle -- sqlalchemy及cx_Oracle的使用详解26.怎样在Swift中定义宏?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

实用干货丨如何使用Prometheus配置自定义告警规则

前言普罗米修斯是一个用于监控和报警的开源系统。在普罗米修斯的术语中,它所监视的事物被称为目标。在本文中,我们将逐步展示如何安装Prometheus来监控/创建报警,并根据自定义事件配置自定义报警规则。当条件满足时,它将发出警报集成Alertmanager来处理客户端应用程序发送的警报。警报管理器将与发送警报通知的电子邮件帐户集成。了解普罗米修斯操作员根据普罗...

flutter Radio单选框

单选框,允许用户从一组中选择一个选项。...

浅析前端常见文件下载的9种场景:Blob基础知识/组成/Blob URL、a标签下载、showSaveFilePicker API下载(兼容性差)、FileSaver.js库下载、Zip下载(JSZip库)、附件形式下载(设置Content-Disposition)、base64格式下载(需转为blob)、分块传输下载、HTTP范围请求下载、大文件分块并行下载

它主要涉及九种文件下载场景。在浏览器端文件下载场景中,JavaScript中的blob类型对象表示一个不可变的原始数据类文件对象。在JavaScript中,您可以通过blob构造函数创建blob对象,blob构造函数表示要放入blob的数组内容的MIME类型。行终止符将更改为适合主机操作系统文件系统的新行字符,允许Blob和file对象用作图像的URL源、下...

怎样能使winform窗体的大小固定住,不能调整其大小

Form1.TopMost=真/假10.将窗体设置为部分透明窗体1.透明键。它接受颜色值。当表单中的颜色与设置的颜色一致时,系统将这些颜色的区域设置为透明。事件1.激活和停用:窗体的活动和非活动状态,即鼠标的焦点和非焦点状态;2.在关闭过程中();您可以取消以关闭此事件。...

Jenkins运行shell脚本权限解决办法

在执行脚本加上如下命令打印就可以看echo"当前操作人"whoamiecho"当前目录"pwd解决办法在Jenkins中运行shell脚本经常遇到权限问题,解决起来非常麻烦,我们索性来个终极解决办法,就是给jenkins一个root权限,这样就不会再遇到权限问题了。...

vue针对搜索引擎做SEO优化

先把几个方法放出来:1.SSR服务器渲染;2.静态化;3.预渲染prerender-spa-plugin;4.使用Phantomjs针对爬虫做处理。vue对seo太不友好了,单页面SPA应用就是实时渲染的,爬虫都爬不到,我在做完一个vue写的官网的时候,老板突然说要seo,我懵逼了,所以被迫营业找了一下优化方法。...