Hi All,
There is a week number given and i need to find the starting date(i.e, Monday date) for that particular week. Can anyone help me with this.
Thanks,
Jeny Jasmine
Hi All,
There is a week number given and i need to find the starting date(i.e, Monday date) for that particular week. Can anyone help me with this.
Thanks,
Jeny Jasmine
Code in C#
public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear)
{
DateTime jan1 = new DateTime(year, 1, 1);
int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek;
// Use first Thursday in January to get first week of the year as
// it will never be in Week 52/53
DateTime firstThursday = jan1.AddDays(daysOffset);
var cal = CultureInfo.CurrentCulture.Calendar;
int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
var weekNum = weekOfYear;
// As we're adding days to a date in Week 1,
// we need to subtract 1 in order to get the right date for week #1
if (firstWeek == 1)
{
weekNum -= 1;
}
// Using the first Thursday as starting week ensures that we are starting in the right year
// then we add number of weeks multiplied with days
var result = firstThursday.AddDays(weekNum * 7);
// Subtract 3 days from Thursday to get Monday, which is the first weekday in ISO8601
return result.AddDays(-3);
}
Hey @jeny
You can refer to an old existing Thread for your reference: - Date of Monday in the current week
Note:- Search forum before posting your queries, In most of the cases you will find an existing solution thread on the forum
Regards…!!
Aksh
Thanks Akshay and Karthik…will try the above solutions…!!