Calendar

Note

DateTime.TimeOfDay is not set or changed by Calendar.

Options

  • Interactable bool

    Is interactable?

  • Date DateTime

    Current date.

  • Date Min DateTime

    Minimal date.

  • Date Max DateTime

    Maximum date.

  • Format string

    Format of the specified DefaultDateMin and DefaultDateMax.

  • First Day Of Week DayOfWeek

    First day of the week.

  • Container RectTransform

    Container for the dates.

  • Calendar Date Template CalendarDateBase

    Template for the date.

  • Header Container RectTransform

    Container for the day of weeks.

  • Calendar Day Of Week Template CalendarDayOfWeekBase

    Template for the day of week.

  • Date Text Text

    Text to display the current date.

  • Date Format string

    Date format for the Date Text.

  • Month Text Text

    Text to display the current month.

  • Month Format string

    Date format for the Month Text.

  • Month Button Button

    Button to open Month Selector

  • Month Selector MonthSelector

    Show list of available months.

  • Year Button Button

    Button to open Year Selector

  • Year Selector YearSelector

    Show list of available years.

Events

  • OnDateChanged UnityEvent<DateTime>

  • OnDateClick UnityEvent<DateTime>

namespace UIWidgets.Examples
{
        using UnityEngine;

        /// <summary>
        /// Test Calendar.
        /// </summary>
        public class TestCalendar : MonoBehaviour
        {
                /// <summary>
                /// Calendar.
                /// </summary>
                [SerializeField]
                protected UIWidgets.Calendar Calendar;

                /// <summary>
                /// Start this instance.
                /// </summary>
                protected virtual void Start()
                {
                        Calendar.OnDateChanged.AddListener(ProcessDate);

                        // change first day of the week
                        Calendar.FirstDayOfWeek = System.DayOfWeek.Sunday;

                        // change culture (display days and months in english)
                        Calendar.Culture = new System.Globalization.CultureInfo("en-US");

                        // change culture (display days and months in french)
                        Calendar.Culture = new System.Globalization.CultureInfo("fr-FR");

                        // change calendar
                        SetCalendar(new System.Globalization.JapaneseCalendar());
                }

                void ProcessDate(System.DateTime dt)
                {
                        Debug.Log(dt);
                }

                void SetCalendar(System.Globalization.Calendar calendar)
                {
                        Calendar.Culture.DateTimeFormat.Calendar = calendar;
                        Calendar.UpdateCalendar();
                }
        }
}