编程乐趣:C#获取日期所在周、月份第一和最后一天

原文:编程乐趣:C#获取日期所在周、月份第一和最后一天

写了个小功能,需要用到以周为时间段,于是写了个获取周第一和最后一天的方法,获取月份的第一和最后一天就比较简单了。代码如下:

  public class DateTimeTool
    {
        /// <summary>
        /// 获取指定日期所在周的第一天,星期天为第一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeWeekFirstDaySun(DateTime dateTime)
        {
            DateTime firstWeekDay = DateTime.Now;

            try
            {
                //得到是星期几,然后从当前日期减去相应天数
                int weeknow = Convert.ToInt32(dateTime.DayOfWeek);

                int daydiff = (-1) * weeknow;

                firstWeekDay = dateTime.AddDays(daydiff);
            }
            catch { }

            return firstWeekDay;
        }

        /// <summary>
        /// 获取指定日期所在周的第一天,星期一为第一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeWeekFirstDayMon(DateTime dateTime)
        {
            DateTime firstWeekDay = DateTime.Now;

            try
            {
                int weeknow = Convert.ToInt32(dateTime.DayOfWeek);

                //星期一为第一天,weeknow等于0时,要向前推6天。
                weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));

                int daydiff = (-1) * weeknow;

                firstWeekDay = dateTime.AddDays(daydiff);
            }
            catch { }

            return firstWeekDay;
        }

        /// <summary>
        /// 获取指定日期所在周的最后一天,星期六为最后一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeWeekLastDaySat(DateTime dateTime)
        {
            DateTime lastWeekDay = DateTime.Now;

            try
            {
                int weeknow = Convert.ToInt32(dateTime.DayOfWeek);

                int daydiff = (7 - weeknow) - 1;

                lastWeekDay = dateTime.AddDays(daydiff);

            }catch { }

            return lastWeekDay;
        }

        /// <summary>
        /// 获取指定日期所在周的最后一天,星期天为最后一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>

        public static DateTime GetDateTimeWeekLastDaySun(DateTime dateTime)
        {
            DateTime lastWeekDay = DateTime.Now;

            try
            {
                int weeknow = Convert.ToInt32(dateTime.DayOfWeek);

                weeknow = (weeknow == 0 ? 7 : weeknow);

                int daydiff = (7 - weeknow);

                lastWeekDay = dateTime.AddDays(daydiff);
            }
            catch { }

            return lastWeekDay;
        }

        /// <summary>
        /// 获取指定日期的月份第一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeMonthFirstDay(DateTime dateTime)
        {
            if (dateTime == null)
            {
                dateTime = DateTime.Now;
            }

            return new DateTime(dateTime.Year, dateTime.Month, 1);
        }

        /// <summary>
        /// 获取指定月份最后一天
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static DateTime GetDateTimeMonthLastDay(DateTime dateTime)
        {
            int day = DateTime.DaysInMonth(dateTime.Year, dateTime.Month);

            return new DateTime(dateTime.Year, dateTime.Month, day);
        }
    }

 

时间: 2024-09-14 10:17:45

编程乐趣:C#获取日期所在周、月份第一和最后一天的相关文章

PHP计算指定日期所在周的开始和结束日期的方法_php技巧

本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>计算一周开始结束日期</title> </head> <body> <form method="post" action="./index.html" enctype="utf-8"> <table> <

PHP计算指定日期所在周的开始和结束日期的方法

 这篇文章主要介绍了PHP计算指定日期所在周的开始和结束日期的方法,涉及php操作日期时间的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <html> <head> <title>计算一周开始结束日

PHP获取指定日期所在月的第一天和最后一天几个例子

  示例代码 代码如下   //获取指定日期所在月的第一天和最后一天 function GetTheMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day")); return array($firstday,$lastday); } 示例代码 //PHP获得指定日

php日期所在月的第一天日期和最后一天

php日期所在月的第一天日期和最后一天 /**   * 日期所在月的第一天日期   * @return int   */  public function getFirstDayOfMonth ($format = 'timestamp') {   $day = $this->getPart('yy') . '-' . $this->getPart('mm') . '-' . '01';   if ($format=='timestamp') {    $day = (int)$this-&g

PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)_php技巧

废话不多少,上代码 复制代码 代码如下:  // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){     $ret=array();     $timestamp=strtotime($date);     $w=strftime('%u',$timestamp);     $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400);     $ret['edate']=date(

查询给定日期所在月的第一个星期一是哪天 sql语句

declare @date datetime; set @date = getdate() --思路,1900-01-01(星期一)加上(给定日志所在月的月6号与1900-01-01差的周数)个周 --为什么不选7号?如果是7号,那么7好恰好是星期日的话,第一个周一就会算到8号. --为什么不选5号?如果5号是星期六,那么周一就跑到上月了.小于5号与这个道理一样. select dateadd(week,datediff(week,0,dateadd(day,6-datepart(day,@da

mssql中获取指定日期所在月份的第一天的代码_MsSql

获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可. 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME) END 或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD

如何使用PHP获取指定日期所在月的开始日期与结束日期

以下是对PHP获取指定日期所在月的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下   复制代码 代码如下:    /**      * 获取指定日期所在月的开始日期与结束日期      * @param string $date      * @param boolean 为true返回开始日期,否则返回结束日期      * @return array      * @access private      */     private function getMo

java 获取当前年份、月份、日期,当月第一天和最后一天

public class CalendarTest {       public static void main(String[] args) {           // 获取当前年份.月份.日期           Calendar cale = null;           cale = Calendar.getInstance();           int year = cale.get(Calendar.YEAR);           int month = cale.get