根据年月以及月中周次,获取该周开始,结束日期

注意,是该月中的周次,一周最多有6周。

        <span style="background-color: rgb(102, 51, 255);">//获取周开始日期和结束日期(周日-周六)
        public string GetWeekDate(int yearly, int monthly, string weekly)
        {
            string dayStr="";

            try
            {
                DateTime day1 = DateTime.Parse(yearly.ToString() + "-" + monthly.ToString() + "-01");//该月第一天日期
                int weekOfDay1 = (Int32)day1.DayOfWeek;//该月第一天是周几
                int dayCount = DateTime.DaysInMonth(yearly, monthly);//该月天数

                int endDay = 0;//结束日
                DateTime dateEnd = DateTime.Now;//周结束日期,初始化为当前时间

                //7*周次 - 第一周中上月天数 > 本月天数
                if (7 * Int32.Parse(weekly) - weekOfDay1 > dayCount)
                {
                    endDay = 7 * Int32.Parse(weekly) - weekOfDay1 - dayCount;
                    DateTime dateLast = DateTime.Parse(yearly.ToString() + "-" + monthly.ToString() + "-" + dayCount.ToString());//该月最后一天日期
                    dateEnd = dateLast.AddDays(endDay);
                }
                //7*周次 - 第一周中上月天数 > 本月天数
                if (7 * Int32.Parse(weekly) - weekOfDay1 <= dayCount)
                {
                    endDay = 7 * Int32.Parse(weekly) - weekOfDay1;
                    dateEnd = DateTime.Parse(yearly.ToString() + "-" + monthly.ToString() + "-" + endDay.ToString());
                }

                DateTime dateStart = dateEnd.AddDays(-6); //周开始日期

                dayStr = dateStart.ToString("yyyy-MM-dd") +" ~ " + dateEnd.ToString("yyyy-MM-dd");
            }
            catch (Exception)
            {
                throw;
            }
            return dayStr;
        }</span>

调用:var resultWeekDay = GetWeekDate(2015, 4, 5);//4月第5周

结果:2015-04-26  ~ 2015-05-02

时间: 2024-10-03 02:10:09

根据年月以及月中周次,获取该周开始,结束日期的相关文章

根据传入的年份和月份获取该月属于本年的第几周和每周的开始和结束日期

function getInfo(year, month) { var getInfo = function (year, month) { var d = new Date(); d.setFullYear(year, month - 1, 1); var w1 = d.getDay(); if (w1 == 0) w1 = 7; d.setFullYear(year, month, 0); var dd = d.getDate(); if (w1 != 1) { var d1 = 7 - w

js获取自然周/自然月/自然日开始结束时间戳

/** * 获取自然月开始结束时间 * @param {*} year * @param {*} month */ function getMonthBeginEnd(year, month) { if (~~year === 0 || ~~month === 0) { throw new Error('年月参数错误'); } const result = {begin: 0, end: 0}; const target = new Date(); target.setFullYear(year

根据日期取得此日期是本年的第几周并获取本周的开始、结束时间

function weekOfYearDay(time) { var time=time; time = time.substring(0,4)+"-"+time.substring(4,6)+"-"+time.substring(6,8); oToday = new Date(time); currentDay = oToday.getDay(); if (currentDay == 0) { currentDay = 7 } mondayTime = oToda

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 <?php header("Content-type:text/html;charset=utf-8"); date_default_timezone_set(&

获取本月周次和日期时间段信息

package com.wdcloud.monitoring.common; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import com.wdcloud.monitoring.Model.WeekInfoModel; public class DateUtils {

根据周次获取周次的日期范围

根据周次获取周次的日期范围 /** * 返回某年某月周次范围 * @param year 年份 * @param weeks 周次 * @return 返回周次的日期范围 */ function getXDate(year,weeks){ var date = new Date(year,"0","1"); var time = date.getTime(); // 获取当前星期几,0:星期一 .... var _week = date.getDay(); //当这

js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周

/** * 获取某周.某月.上月.某季度的开始日期.结束日期及判断日期第几周 */ //格式化日期:yyyy-MM-dd function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.getMonth()+1; var myweekday = date.getDate(); if(mymonth < 10){ mymonth = "0" + mymonth; } if(myweekd

c# 获取一年中的周/根据一年中的第几周获取该周的开始日期与结束日期

/// <summary> /// 获取一年中的周 /// </summary> /// <param name="dt">日期</param> /// <returns></returns> public static int GetWeekOfYear(DateTime dt) { System.Globalization.GregorianCalendar gc = new System.Globalizat

获取当前周、上一周、下一周的日期

使用JS或者是JQuery获取当前周和上一周.下一周的日期时间信息的方法,摘自 http://www.qdfuns.com/notes/18184/435de54dd1e41baf6777039e394c0100.html,目的仅仅是为了做个笔记,侵删!以下是代码以及解析: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html > <head> <meta h