none
如何列出本週的日期區間? RRS feed

  • 問題

  • 各位好:

    as title

    我已經將本週的第一日到本週的最後一日取得出來
    DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek).ToString("MM/dd")
    DateTime.Today.AddDays(6 - (int)DateTime.Today.DayOfWeek).ToString("MM/dd")

    請問怎麼列出這個區間的每一個日期呢?

    那當如果跨年或跨月該怎麼處理呢?

    thanks a lot.
    2009年11月9日 上午 10:26

解答

  • hi
    列出一周日期,參考看看
     static void Main(string[] args)
            {
                DateTime currentday = DateTime.Now;
                Int32 week = (Int32)currentday.DayOfWeek;
                for (Int32 i = week - 1; i < 8 - week; i++)
                {
                    DateTime rangeday = currentday.AddDays(i);
                    Console.Write(rangeday.ToString("yyyy/MM/dd")+Environment.NewLine);
                 }
                Console.ReadLine();
            }
    http://www.dotblogs.com.tw/ricochen/Default.aspx
    • 已標示為解答 Lolota Lee 2009年11月16日 上午 06:31
    2009年11月9日 上午 10:57
  • 找的出第一天,那不就是一樣用AddDays加上迴圈從1 到 6 就是後面的六天了嗎 ?
                DateTime firstday;
                DateTime targetday;
                String[] WeekArray= new String [7];
                firstday = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                int i;
                for (i = 0; i <= 6; i++)
                {
                    targetday = firstday.AddDays(i);
                    WeekArray[i] = targetday.ToString("yyyy/MM/dd");
                    MessageBox.Show(WeekArray[i]);
                }
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    • 已標示為解答 Lolota Lee 2009年11月16日 上午 06:31
    2009年11月9日 下午 12:44
    版主

所有回覆

  • hi
    列出一周日期,參考看看
     static void Main(string[] args)
            {
                DateTime currentday = DateTime.Now;
                Int32 week = (Int32)currentday.DayOfWeek;
                for (Int32 i = week - 1; i < 8 - week; i++)
                {
                    DateTime rangeday = currentday.AddDays(i);
                    Console.Write(rangeday.ToString("yyyy/MM/dd")+Environment.NewLine);
                 }
                Console.ReadLine();
            }
    http://www.dotblogs.com.tw/ricochen/Default.aspx
    • 已標示為解答 Lolota Lee 2009年11月16日 上午 06:31
    2009年11月9日 上午 10:57
  • 找的出第一天,那不就是一樣用AddDays加上迴圈從1 到 6 就是後面的六天了嗎 ?
                DateTime firstday;
                DateTime targetday;
                String[] WeekArray= new String [7];
                firstday = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                int i;
                for (i = 0; i <= 6; i++)
                {
                    targetday = firstday.AddDays(i);
                    WeekArray[i] = targetday.ToString("yyyy/MM/dd");
                    MessageBox.Show(WeekArray[i]);
                }
    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    • 已標示為解答 Lolota Lee 2009年11月16日 上午 06:31
    2009年11月9日 下午 12:44
    版主