ui.input_date
ui.input_date(id
label*
=None
valuemin=None
max=None
format='yyyy-mm-dd'
='month'
startview=0
weekstart='en'
language=None
width=True
autoclose=None
datesdisabled=None
daysofweekdisabled )
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 : TagChild
-
An input label.
value : Optional[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 : Optional[date | str] = None
-
The minimum allowed date. Either a date object, or a string in yyyy-mm-dd format.
max : Optional[date | str] = None
-
The maximum allowed date. Either a date object, or a string in yyyy-mm-dd format.
format : str = 'yyyy-mm-dd'
-
The format of the date to display in the browser. Defaults to
"yyyy-mm-dd"
. startview : str = 'month'
-
The date range shown when the input object is first clicked. Can be “month” (the default), “year”, or “decade”.
weekstart : int = 0
-
Which day is the start of the week. Should be an integer from 0 (Sunday) to 6 (Saturday).
language : str = 'en'
-
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] = None
-
The CSS width, e.g. ‘400px’, or ‘100%’
autoclose : bool = True
-
Whether or not to close the datepicker immediately when a date is selected.
datesdisabled : Optional[
list
[str]] = None-
Which dates should be disabled (in
yyyy-mm-dd
format). daysofweekdisabled : Optional[
list
[int]] = None-
Days of the week that should be disabled. Should be a integer vector with values from 0 (Sunday) to 6 (Saturday).
Returns
: Tag
-
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 nameMM
: Full month namedd
: Day of month with leading zerod
: Day of month without leading zeroD
: Abbreviated weekday nameDD
: Full weekday name
Notes
A date object.
See Also
Examples
#| standalone: true
#| components: [editor, viewer]
#| layout: vertical
#| viewerHeight: 400
## file: app.py
from datetime import date
from shiny import App, Inputs, Outputs, Session, ui
app_ui = ui.page_fluid(
ui.input_date("date1", "Has default date:", value="2016-02-29"),
# Default value is the date in client's time zone
ui.input_date("date2", "Client's current date:"),
# value is always yyyy-mm-dd, even if the display format is different
ui.input_date("date3", "Format mm/dd/yy:", value="2016-02-29", format="mm/dd/yy"),
# Pass in a Date object
ui.input_date("date4", "Default uses date object:", value=date(2016, 2, 29)),
# Use different language and different first day of week
ui.input_date(
"date5",
"Language is German and the week starts on Monday:",
language="ru",
weekstart=1,
),
# Start with decade view instead of default month view
ui.input_date("date6", "Start Date picker in Decade view:", startview="decade"),
# Disable Mondays and Tuesdays.
ui.input_date("date7", "Disable Monday and Tuesday:", daysofweekdisabled=[1, 2]),
# Disable specific dates.
ui.input_date(
"date8",
"Disable specific dates:",
value="2016-02-29",
datesdisabled=["2016-03-01", "2016-03-02"],
),
# Set min and max dates.
ui.input_date(
"date9",
"Set min and max dates:",
value="2016-02-03",
min="2016-02-01",
max="2016-02-29",
),
# Set width of the date field
ui.input_date("date10", "Set width of text input:", width="600px"),
# Set autoclose to false
ui.input_date("date11", "Auto close is disabled:", autoclose=False),
)
def server(input: Inputs, output: Outputs, session: Session):
pass
app = App(app_ui, server)