请问如何获取本周周一和周日两天的日期,格式是类似2004-10-12

解决方案 »

  1.   

    //日期格举
    public enum CN_Week
    {
    星期五 = DayOfWeek.Friday,
    星期一 = DayOfWeek.Monday,
    星期六 = DayOfWeek.Saturday,
    星期日 = DayOfWeek.Sunday,
    星期四 = DayOfWeek.Thursday,
    星期二 = DayOfWeek.Tuesday,
    星期三 = DayOfWeek.Wednesday, }
    /// <summary>
    ///得到一个月中第几周周几是哪一天 
    /// </summary>
    /// <param name="year">哪一年</param>
    /// <param name="month">哪一个月</param>
    /// <param name="number">第几周</param>
    /// <param name="week">星期几</param>
    /// <param name="day">输出的日期</param>
    /// <returns>字符串</returns>
    public string GetDateString (int year, int month, int number, CN_Week week, out DateTime day)
    {
    int tmpNumber = 0; if ( number == 0 )
    {
    number = 1;
    } if ( number > 0 )
    {
    tmpNumber = number - 1;
    }
    else
    {
    tmpNumber = number;
    } DateTime firstDay=new DateTime(year,month,1); int days= number * 7  + (int)week - (int)firstDay.DayOfWeek;

    DateTime tmpDay = firstDay.AddDays(days); string result = "{0}年 {1}月 {2}周的 {3} 是 {4}"; string tmpStr = null;
    if ( number > 0 )
    {
    tmpStr = "第" + number.ToString();
    }
    else
    {
    tmpStr =  "倒数第" + Math.Abs(number).ToString();
    }

    result = string.Format( result, year.ToString(), month.ToString(), tmpStr, week.ToString(), tmpDay.ToString("yyyy年MM月dd日"));
    day = tmpDay; return result;
    }
      

  2.   

    你可以先的到今天是星期几,然后星期一,星期天同今天的差就可以算出来
    这样就DateTime.Today.AddDay(差值)就可以算出这周的任何一天了是几号了。
      

  3.   

    Dim DateNow As DateTime = Date.Now
            Dim FirstDate As DateTime
            Dim LastDate As DateTime
            FirstDate = Date.Now.AddDays(0 - DateNow.DayOfWeek)
            LastDate = Date.Now.AddDays(7 - DateNow.DayOfWeek)