private void SetCurrentView() { // Set current view in button label if (viewButton != null) { viewButton.Label = Translation.View + ": " + GetCalendarTypeName(CurrentCalendar); } GUICommon.SetProperty("#Trakt.Calendar.Type", CurrentCalendar.ToString()); switch (CurrentCalendar) { case CalendarType.UserMovies: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyMovies); break; case CalendarType.UserDVDs: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyDVDs); break; case CalendarType.AllMovies: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllMovies); break; case CalendarType.AllDVDs: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllDVDs); break; } }
public static DateTime DateAdd(DateInterval Interval, double Number, DateTime DateValue) { int years = (int)Math.Round(Conversion.Fix(Number)); switch (Interval) { case DateInterval.Year: return(CurrentCalendar.AddYears(DateValue, years)); case DateInterval.Quarter: return(DateValue.AddMonths(years * 3)); case DateInterval.Month: return(CurrentCalendar.AddMonths(DateValue, years)); case DateInterval.DayOfYear: case DateInterval.Day: case DateInterval.Weekday: return(DateValue.AddDays((double)years)); case DateInterval.WeekOfYear: return(DateValue.AddDays(years * 7.0)); case DateInterval.Hour: return(DateValue.AddHours((double)years)); case DateInterval.Minute: return(DateValue.AddMinutes((double)years)); case DateInterval.Second: return(DateValue.AddSeconds((double)years)); } throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "Interval" })); }
protected virtual DateParts ExtractDateParts(Match m) { int year = 0, month = 0, day = 0; if (m.Groups["year"].Success) { year = CurrentCalendar.ToFourDigitYear(Int32.Parse(m.Groups["year"].Value)); } // For the month we can either use the month number, the abbreviated month name or the full month name. if (m.Groups["month"].Success) { month = Int32.Parse(m.Groups["month"].Value); } else if (m.Groups["monthNameShort"].Success) { var shortName = m.Groups["monthNameShort"].Value.ToLowerInvariant(); var allShortNamesGenitive = _dateTimeFormatProvider.MonthNamesShortGenitive.Select(x => x.ToLowerInvariant()).ToList(); var allShortNames = _dateTimeFormatProvider.MonthNamesShort.Select(x => x.ToLowerInvariant()).ToList(); if (allShortNamesGenitive.Contains(shortName)) { month = allShortNamesGenitive.IndexOf(shortName) + 1; } else if (allShortNames.Contains(shortName)) { month = allShortNames.IndexOf(shortName) + 1; } } else if (m.Groups["monthName"].Success) { var name = m.Groups["monthName"].Value.ToLowerInvariant(); var allNamesGenitive = _dateTimeFormatProvider.MonthNamesGenitive.Select(x => x.ToLowerInvariant()).ToList(); var allNames = _dateTimeFormatProvider.MonthNames.Select(x => x.ToLowerInvariant()).ToList(); if (allNamesGenitive.Contains(name)) { month = allNamesGenitive.IndexOf(name) + 1; } else if (allNames.Contains(name)) { month = allNames.IndexOf(name) + 1; } } if (m.Groups["day"].Success) { day = Int32.Parse(m.Groups["day"].Value); } return(new DateParts(year, month, day)); }
public static int Weekday(DateTime DateValue, FirstDayOfWeek DayOfWeek = 1) { if (DayOfWeek == FirstDayOfWeek.System) { DayOfWeek = (FirstDayOfWeek)(DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek + 1); } else if ((DayOfWeek < FirstDayOfWeek.Sunday) || (DayOfWeek > FirstDayOfWeek.Saturday)) { throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "DayOfWeek" })); } int num = ((int)CurrentCalendar.GetDayOfWeek(DateValue)) + 1; return((((num - DayOfWeek) + 7) % 7) + 1); }
private void SetCurrentView() { // Set current view in button label if (viewButton != null) { viewButton.Label = Translation.View + ": " + GetCalendarTypeName(CurrentCalendar); } GUICommon.SetProperty("#Trakt.Calendar.Type", CurrentCalendar.ToString()); switch (CurrentCalendar) { case CalendarType.UserShows: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyShows); break; case CalendarType.UserNewShows: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyNewShows); break; case CalendarType.UserSeasonPremieres: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMySeasonPremieres); break; case CalendarType.AllShows: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllShows); break; case CalendarType.AllNewShows: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllNewShows); break; case CalendarType.AllSeasonPremieres: GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllSeasonPremieres); break; } }
/// <summary> /// Returns week number for the given date /// </summary> public static int GetWeekOfYear(this DateTime date) => CurrentCalendar.GetWeekOfYear(date, CurrentCalendarWeekRule, CurrentDayOfWeek);
public static int Year(DateTime DateValue) { return(CurrentCalendar.GetYear(DateValue)); }
public static int Second(DateTime TimeValue) { return(CurrentCalendar.GetSecond(TimeValue)); }
public static int Month(DateTime DateValue) { return(CurrentCalendar.GetMonth(DateValue)); }
public static int Minute(DateTime TimeValue) { return(CurrentCalendar.GetMinute(TimeValue)); }
public static int Hour(DateTime TimeValue) { return(CurrentCalendar.GetHour(TimeValue)); }
public static int DatePart(DateInterval Interval, DateTime DateValue, [Optional, DefaultParameterValue(FirstDayOfWeek.Sunday)] FirstDayOfWeek FirstDayOfWeekValue, [Optional, DefaultParameterValue(FirstWeekOfYear.Jan1)] FirstWeekOfYear FirstWeekOfYearValue) { DayOfWeek firstDayOfWeek; CalendarWeekRule calendarWeekRule = 0; switch (Interval) { case DateInterval.Year: return(CurrentCalendar.GetYear(DateValue)); case DateInterval.Quarter: return(((DateValue.Month - 1) / 3) + 1); case DateInterval.Month: return(CurrentCalendar.GetMonth(DateValue)); case DateInterval.DayOfYear: return(CurrentCalendar.GetDayOfYear(DateValue)); case DateInterval.Day: return(CurrentCalendar.GetDayOfMonth(DateValue)); case DateInterval.WeekOfYear: if (FirstDayOfWeekValue != FirstDayOfWeek.System) { firstDayOfWeek = (DayOfWeek)(FirstDayOfWeekValue - 1); break; } firstDayOfWeek = Utils.GetCultureInfo().DateTimeFormat.FirstDayOfWeek; break; case DateInterval.Weekday: return(Weekday(DateValue, FirstDayOfWeekValue)); case DateInterval.Hour: return(CurrentCalendar.GetHour(DateValue)); case DateInterval.Minute: return(CurrentCalendar.GetMinute(DateValue)); case DateInterval.Second: return(CurrentCalendar.GetSecond(DateValue)); default: throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "Interval" })); } switch (FirstWeekOfYearValue) { case FirstWeekOfYear.System: calendarWeekRule = Utils.GetCultureInfo().DateTimeFormat.CalendarWeekRule; break; case FirstWeekOfYear.Jan1: calendarWeekRule = CalendarWeekRule.FirstDay; break; case FirstWeekOfYear.FirstFourDays: calendarWeekRule = CalendarWeekRule.FirstFourDayWeek; break; case FirstWeekOfYear.FirstFullWeek: calendarWeekRule = CalendarWeekRule.FirstFullWeek; break; } return(CurrentCalendar.GetWeekOfYear(DateValue, calendarWeekRule, firstDayOfWeek)); }