Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).

import datetime as dt

import panel as pn


The DatePicker widget allows selecting selecting a date value using a text box and the browser’s date-picking utility.

Discover more on using widgets to add interactivity to your applications in the how-to guides on interactivity. Alternatively, learn how to set up callbacks and (JS-)links between parameters or how to use them as part of declarative UIs with Param.


For details on other options for customizing the component see the layout and styling how-to guides.


  • end (datetime): The latest selectable date

  • start (datetime): The earliest selectable date

  • value (datetime): The selected value as a datetime type


  • disabled (boolean): Whether the widget is editable

  • name (str): The title of the widget

  • disabled_dates (list): dates to make unavailable for selection; others will be available

  • enabled_dates (list): dates to make available for selection; others will be unavailable

DatePicker uses a browser-dependent calendar widget to select the date:

date_picker = pn.widgets.DatePicker(name='Date Picker', value=dt.datetime(2024, 4, 1, 11, 37))

pn.Column(date_picker, height=400)

To ensure it is visible in a notebook we have placed it in a Column with a fixed height.

DatePicker.value returns a datetime type that can be read out or set like other widgets:

date_picker.value, 4, 1)


The DatePicker widget exposes a number of options which can be changed from both Python and Javascript. Try out the effect of these parameters interactively:

pn.Row(date_picker.controls(jslink=True), date_picker)

Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).