shiny.ui.input_date#

shiny.ui.input_date(id, label, *, value=None, min=None, max=None, format='yyyy-mm-dd', startview='month', weekstart=0, language='en', width=None, autoclose=True, datesdisabled=None, daysofweekdisabled=None)#

Creates a text input which, when clicked on, brings up a calendar that the user can click on to select dates.

Parameters
  • id (str) – An input id.

  • label (Union[Tagifiable, Tag, MetadataNode, str, TagList, float, None, Dict[str, Union[str, float, bool, None]], Sequence[Union[Tagifiable, Tag, MetadataNode, str, TagList, float, None, Dict[str, Union[str, float, bool, None]], Sequence[ForwardRef]]]]) – An input label.

  • value (Union[date, str, None]) – The starting date. Either a date() object, or a string in yyyy-mm-dd format. If None (the default), will use the current date in the client’s time zone.

  • min (Union[date, str, None]) – The minimum allowed date. Either a date() object, or a string in yyyy-mm-dd format.

  • max (Union[date, str, None]) – The maximum allowed date. Either a date() object, or a string in yyyy-mm-dd format.

  • format (str) – The format of the date to display in the browser. Defaults to “yyyy-mm-dd”.

  • startview (str) – The date range shown when the input object is first clicked. Can be “month” (the default), “year”, or “decade”.

  • weekstart (int) – Which day is the start of the week. Should be an integer from 0 (Sunday) to 6 (Saturday).

  • language (str) – The language used for month and day names. Default is “en”. Other valid values include “ar”, “az”, “bg”, “bs”, “ca”, “cs”, “cy”, “da”, “de”, “el”, “en-AU”, “en-GB”, “eo”, “es”, “et”, “eu”, “fa”, “fi”, “fo”, “fr-CH”, “fr”, “gl”, “he”, “hr”, “hu”, “hy”, “id”, “is”, “it-CH”, “it”, “ja”, “ka”, “kh”, “kk”, “ko”, “kr”, “lt”, “lv”, “me”, “mk”, “mn”, “ms”, “nb”, “nl-BE”, “nl”, “no”, “pl”, “pt-BR”, “pt”, “ro”, “rs-latin”, “rs”, “ru”, “sk”, “sl”, “sq”, “sr-latin”, “sr”, “sv”, “sw”, “th”, “tr”, “uk”, “vi”, “zh-CN”, and “zh-TW”.

  • width (Optional[str]) – The CSS width, e.g. ‘400px’, or ‘100%’

  • autoclose (bool) – Whether or not to close the datepicker immediately when a date is selected.

  • datesdisabled (Optional[List[str]]) – Which dates should be disabled (in yyyy-mm-dd format).

  • daysofweekdisabled (Optional[List[int]]) – Days of the week that should be disabled. Should be a integer vector with values from 0 (Sunday) to 6 (Saturday).

Return type

A UI element.

Note

The date format string specifies how the date will be displayed in the browser. It allows the following values:

  • yy: Year without century (12)

  • yyyy: Year with century (2012)

  • mm: Month number, with leading zero (01-12)

  • m: Month number, without leading zero (1-12)

  • M: Abbreviated month name

  • MM: Full month name

  • dd: Day of month with leading zero

  • d: Day of month without leading zero

  • D: Abbreviated weekday name

  • DD: Full weekday name

Notes

Server value

A date() object.

Example

#| standalone: true
#| components: [editor, viewer]
#| layout: vertical
#| viewerHeight: 400
from shiny import *
from datetime import date

app_ui = ui.page_fluid(
    ui.input_date("date1", "Date:", value="2016-02-29"),
    # Default value is the date in client's time zone
    ui.input_date("date2", "Date:"),
    # value is always yyyy-mm-dd, even if the display format is different
    ui.input_date("date3", "Date:", value="2016-02-29", format="mm/dd/yy"),
    # Pass in a Date object
    ui.input_date("date4", "Date:", value=date(2016, 2, 29)),
    # Use different language and different first day of week
    ui.input_date("date5", "Date:", language="ru", weekstart=1),
    # Start with decade view instead of default month view
    ui.input_date("date6", "Date:", startview="decade"),
    # Disable Mondays and Tuesdays.
    ui.input_date("date7", "Date:", daysofweekdisabled=[1, 2]),
    # Disable specific dates.
    ui.input_date(
        "date8",
        "Date:",
        value="2016-02-29",
        datesdisabled=["2016-03-01", "2016-03-02"],
    ),
)

def server(input: Inputs, output: Outputs, session: Session):
    pass


app = App(app_ui, server)