![](/img/trans.png)
[英]How to get a date from year, month, week of month and Day of week ? C#
[英]C# - Check if a given date is the Fifth week day of a month?
對於如何檢查給定日期的日期是否是一個月中第五次出現的日期,我有些困惑。 例如,以下是一周中的某些天,一個月中出現5次:
Thursday 29th March 2018
Friday 30th March 2018
Saturday 31st March 2018
Saturday 29th April 2018
我想要一種方法,如果給定的日期是一個月的第五個工作日,則該方法將返回true
或false
。
我已經從這個問題嘗試了以下代碼,但是此方法僅返回開始第五個星期周期的第一個日期。
public DateTime? FifthDay(DayOfWeek dayOfWeek, byte monthNum, int year)
{
var searchDate = new DateTime(year, monthNum, 1);
var weekDay = searchDate.DayOfWeek;
if (weekDay == dayOfWeek)
{
searchDate = searchDate.AddDays(28);
}
for (DateTime d = searchDate; d < d.AddDays(7); d = d.AddDays(1))
{
if (d.DayOfWeek == dayOfWeek)
{
searchDate = searchDate.AddDays(28);
break;
}
}
if (searchDate.Month == monthNum)
return searchDate;
return null;
}
謝謝
難道沒有28歲以上的日期會成為該工作日的第五次出現嗎?
public static bool IsFifthWeek(DateTime d) => d.Day > 28;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.