public static DateTime WeekFirstDay(int wn, int year) { int adjust = 0; GregorianCalendar cal = new GregorianCalendar(); DateTime jan1st = new DateTime(year, 1, 1); if (jan1st.DayOfWeek == DayOfWeek.Monday || jan1st.DayOfWeek == DayOfWeek.Tuesday || jan1st.DayOfWeek == DayOfWeek.Wednesday || jan1st.DayOfWeek == DayOfWeek.Thursday) { adjust = 1; } else { adjust = 0; } DateTime date = cal.AddWeeks(jan1st, wn - adjust); while (date.DayOfWeek != DayOfWeek.Monday) { date = date.AddDays(-1); } return(date); }
public static DateTime GetLastDayInWeek(int Year, int Week) { GregorianCalendar Calendar = new GregorianCalendar(GregorianCalendarTypes.USEnglish); DateTime FirstDay = new DateTime(Year, 1, 1); DateTime CurrentDay = Calendar.AddWeeks(FirstDay, Week); return(Calendar.AddDays(CurrentDay, 7 - (int)Calendar.GetDayOfWeek(CurrentDay) + 1)); }
static void Main(string[] args) { Calendar my = new GregorianCalendar(); DateTime myTime = new DateTime(2003, 11, 3, 8, 42, 40, 100, my); Console.WriteLine("Current Time: {0}", myTime.ToUniversalTime()); myTime = my.AddWeeks(myTime, 12); Console.WriteLine("After add 12 weeks, the timer is:{0}", myTime.ToLocalTime()); Console.WriteLine("This yeaar is Leap Year?" + my.IsLeapYear(2003, 0)); }
private long GetNextPoint(ref DateTime t, int unit, int unitSteps) { switch (unit) { case 0: t = gc.AddSeconds(t, unitSteps); break; case 1: t = gc.AddMinutes(t, unitSteps); break; case 2: t = gc.AddHours(t, unitSteps); break; case 3: t = gc.AddDays(t, unitSteps); break; case 4: t = gc.AddWeeks(t, unitSteps); break; case 5: t = gc.AddMonths(t, unitSteps); break; case 6: t = gc.AddYears(t, unitSteps); break; default: break; } return(Util.TicksToMillis(t.Ticks)); }