public static string GetDateText(DateTime date, int maxLength) { var month = Months.ElementAt(date.Month - 1); var template = date.Day == 2 ? " яН" : " я"; template += " " + date.Day + " {0}"; return(GetText(template, month, maxLength)); }
public void Update(GameTime gameTime) { _currentTimePassed += (float)gameTime.ElapsedGameTime.Milliseconds; while (_currentTimePassed >= TimePerMinute) { _currentTimePassed -= TimePerMinute; CurrentMinutes++; OnMinuteChange?.Invoke(this); while (CurrentMinutes >= MinutesPerHour) { CurrentMinutes -= MinutesPerHour; CurrentHours++; OnHourChange?.Invoke(this); while (CurrentHours > HoursPerDay) { CurrentHours -= HoursPerDay; CurrentDay++; CurrentDayIndex++; OnDayChange?.Invoke(this); if (CurrentDayIndex >= Days.Count) { CurrentDayIndex = 0; OnWeekChange?.Invoke(this); } if (CurrentDay > (float)Months.ElementAt(CurrentMonthIndex).Value) { CurrentMonthIndex++; OnMonthChange?.Invoke(this); } if (CurrentMonthIndex >= Months.Count) { CurrentMonthIndex = 0; CurrentYear++; OnYearChange?.Invoke(this); } } } } }
// %t - minutes // %h - hours // %d - current day // %D - current day name // %m - current month index // %M - current month name // %y - year public string GetTimeAsString(string format) { string ret = format; ret = ret.Replace("%t", CurrentMinutes.ToString()); ret = ret.Replace("%h", CurrentHours.ToString()); ret = ret.Replace("%d", CurrentDay.ToString()); ret = ret.Replace("%D", Days[CurrentDayIndex]); ret = ret.Replace("%m", CurrentMonthIndex.ToString()); ret = ret.Replace("%M", Months.ElementAt(CurrentMonthIndex).Key); ret = ret.Replace("%y", CurrentYear.ToString()); return(ret); }
public void LoadDataIfNecessary(int appearedItemIndex, bool shouldSelectDay) { if (Months.Count <= 1) { return; } if (appearedItemIndex == 0) { CachePreviousMonths(); } if (appearedItemIndex == CurrentMonthIndex && Months.Contains(_currentMonth)) { if (shouldSelectDay) { if (DateTime.Now.Year == _currentMonth.CurrentDate.Year && DateTime.Now.Month == _currentMonth.CurrentDate.Month) { SelectCurrentDay(); return; } } } if (appearedItemIndex == Months.Count - 1) { CacheNextMonths(); } if (shouldSelectDay) { var appearedMonth = Months.ElementAt(appearedItemIndex); SelectDay(appearedMonth.Days.First().CurrentDate); } }