Sunday, November 4, 2012

Get week no from date time C# .Net

The last parameter DayOfWeek.Monday the function will start first day of week on Monday.

int intWeekNO = 0;
intWeekNO = System.Globalization.CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(
                                pTimesheetDate,
                                System.Globalization.CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);

First Date of Week C# .Net

When you need to find first date of week?

 public static DateTime FirstDateOfWeek(int year, int weekOfYear)
        {
            DateTime jan1 = new DateTime(year, 1, 1);

            int daysOffset = (int)System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek - (int)jan1.DayOfWeek;

            DateTime firstMonday = jan1.AddDays(daysOffset);

            int firstWeek = System.Globalization.CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(jan1, System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.CalendarWeekRule, System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek);

            if (firstWeek <= 1)
            {
                weekOfYear -= 1;
            }

            return firstMonday.AddDays(weekOfYear * 7);
        }