Week numbers in C#
Support for ISO week numbers was added in .NET 5.0.
How to get the week number from a date
To get the ISO week number (1-53) from a System.DateTime instance, use System.Globalization.ISOWeek.GetWeekOfYear(date).
To get the corresponding four-digit year (e.g. 2025), use System.Globalization.ISOWeek.GetYear(date).
Read more about ISOWeek.GetWeekOfYear() and ISOWeek.GetYear() in the .NET API documentation.
How to get the date from a week number
To get the start time of a week (Monday at midnight), use System.Globalization.ISOWeek.ToDateTime(year, week, DayOfWeek.Monday)).
year is a 4-digit year (e.g. 2025), and week is an ISO week number (1-53).
Read more about ISOWeek.ToDateTime() in the .NET API documentation.
How to get the number of weeks in a year
To get the number of ISO weeks in a year (i.e. the number of the last week), use System.Globalization.ISOWeek.GetWeeksInYear(year).
Read more about ISOWeek.GetWeeksInYear() in the .NET API documentation.
Read more
Learn more about week numbers and the ISO week numbering scheme in this little primer.