就像是:
static DateTime GetDate(int year, int month, DayOfWeek dayOfWeek,
int weekOfMonth) {
// TODO: some range checking (>0, for example)
DateTime day = new DateTime(year, month, 1);
while (day.DayOfWeek != dayOfWeek) day = day.AddDays(1);
if (weekOfMonth > 0) {
return day.AddDays(7 * (weekOfMonth - 1));
} else { // treat as last
DateTime last = day;
while ((day = day.AddDays(7)).Month == last.Month) {
last = day;
}
return last;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1848 次 |
| 最近记录: |