asp.net DateTime 周一和周日的日期擷取代碼

來源:互聯網
上載者:User

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);  //本年年末


#region 得到一周的周一和周日的日期
        /// <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="somedate">該周中任意一天</param>
        /// <returns>返回禮拜一日期,後面的具體時、分、秒和傳入值相等</returns>
        public static datetime 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);
            return somedate.subtract(ts);
        }
        /// <summary>
        /// 計算某日結束日期(禮拜日的日期)
        /// </summary>
        /// <param name="somedate">該周中任意一天</param>
        /// <returns>返回禮拜日日期,後面的具體時、分、秒和傳入值相等</returns>
        public static datetime 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);
            return somedate.add(ts);
        }
        #endregion

 日期轉換成字元型

string t = row["time"].tostring()
string time = datetime.parse(t).tostring("yyyy-mm-dd");

convert.todatetime( "07-05-2007 ").tostring( "yyyy-mm-dd ")         這句代碼轉換後是string類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.