iT邦幫忙

0

如圖我要排成一個月的方式我要怎麼做呢!? 一直排不出來請求各大大求解謝謝~~~

c#

如圖我要排成一個月的方式我要怎麼做呢!?急`~~~~~~~~~感謝各大大

2 個回答

0
wiseguy
iT邦超人 1 級 ‧ 2015-06-19 00:08:15
  1. 要排出今年六月的月曆,要先知道 6/1 是星期幾。
  2. 要知道 6/1 星期幾,要先知道 1/1 是星期幾。
  3. 要知道 2015/1/1 是星期幾,要先知道 1970/1/1 是星期四,也要知道從 1970 到 2015 經過幾次閏年。
  4. 閏年算法是:https://zh.wikipedia.org/zh-tw/閏年
看更多先前的回應...收起先前的回應...

感謝各位大大講解

要知道6/1是星期幾
不是這樣就好了
你要他自己算閏年
(7月1日還有閏秒)
不是開玩笑嗎
疑惑

<pre class="c" name="code">
DateTime dateValue = new DateTime(2015, 6, 1);
Console.WriteLine((int) dateValue.DayOfWeek);
wiseguy iT邦超人 1 級 ‧ 2015-06-22 11:47:28 檢舉

不是每種語言都有現成函數可用。
知其所以然,也要知其然囉~

外獅佬 iT邦大師 1 級 ‧ 2015-06-22 12:04:30 檢舉

C#有DayOfWeek可以直接拿來用謝謝

0
77012904
iT邦新手 3 級 ‧ 2015-06-19 15:10:40

這個要知道幾個變數

  1. 當月的1號是星期幾? (這樣你才知道迴圈跑到哪裡時要該使print東西出來)

  2. 當月有幾天?

  3. 每周的第一天是星期日、或星期一?

  4. 計算當月有幾周 (這樣你才知道要幾個raw)

    <pre class="c" name="code">Dim weekInMonth As Integer = 1 + ((Date.DaysInMonth(year, month) - 7 + (New Date(year, month, 1)).DayOfWeek) \ 7) + IIf((Date.DaysInMonth(year, month) - 7 + (New Date(year, month, 1)).DayOfWeek) Mod 7 = 0, 0, 1)

我要發表回答

立即登入回答