<div class='type'>Composable Function</div>


<a id='references'></a>



<h2 id="rememberdatepickerstate-yearrange-initialdisplaymode-selectabledates">rememberDatePickerState</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@Composable
fun rememberDatePickerState(
    @Suppress("AutoBoxing") initialSelectedDateMillis: Long? = null,
    @Suppress("AutoBoxing") initialDisplayedMonthMillis: Long? = initialSelectedDateMillis,
    yearRange: IntRange = DatePickerDefaults.YearRange,
    initialDisplayMode: DisplayMode = DisplayMode.Picker,
    selectableDates: SelectableDates = DatePickerDefaults.AllDates,
): DatePickerState
```


Creates a `DatePickerState` for a `DatePicker` that is remembered across compositions.

To create a date picker state outside composition, see the `DatePickerState` function.

#### Parameters

| | |
| --- | --- |
| initialSelectedDateMillis | timestamp in _UTC_ milliseconds from the epoch that represents an initial selection of a date. Provide a `null` to indicate no selection. |
| initialDisplayedMonthMillis | timestamp in _UTC_ milliseconds from the epoch that represents an initial selection of a month to be displayed to the user. By default, in case an `initialSelectedDateMillis` is provided, the initial displayed month would be the month of the selected date. Otherwise, in case `null` is provided, the displayed month would be the current one. |
| yearRange | an `IntRange` that holds the year range that the date picker will be limited to |
| initialDisplayMode | an initial `DisplayMode` that this state will hold |
| selectableDates | a `SelectableDates` that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI. |






<hr class="docs-overload-divider">


<h2 id="rememberdatepickerstate-initialselecteddate-initialdisplayedmonth-yearrange-initialdisplaymode-selectabledates">rememberDatePickerState</h2>

<div class='sourceset sourceset-jvmAndAndroid'>JvmAndAndroid</div>


```kotlin
@RequiresApi(26)
@Composable
fun rememberDatePickerState(
    initialSelectedDate: LocalDate?,
    initialDisplayedMonth: YearMonth? = initialSelectedDate?.let { YearMonth.from(it) },
    yearRange: IntRange = DatePickerDefaults.YearRange,
    initialDisplayMode: DisplayMode = DisplayMode.Picker,
    selectableDates: SelectableDates = DatePickerDefaults.AllDates,
): DatePickerState
```


Creates a `DatePickerState` for a `DatePicker` that is remembered across compositions.

Note: This composable uses `LocalDate` and `YearMonth`. For a lower-level composable that uses
UTC milliseconds, see the other `rememberDatePickerState` overload.

The initial values are converted to UTC milliseconds at the start of the day (midnight):
- `initialSelectedDate` is used to set `DatePickerState.selectedDateMillis`.
- `initialDisplayedMonth` is used to set `DatePickerState.displayedMonthMillis`, based on the first day of that month.

To create a date picker state outside composition, see the `DatePickerState` function.

#### Parameters

| | |
| --- | --- |
| initialSelectedDate | a `LocalDate` for an initial date selection. Provide a `null` to indicate no selection. |
| initialDisplayedMonth | an optional `YearMonth` for an initial month that will be displayed to the user. By default, in case an `initialSelectedDate` is provided, the initial displayed month would be the month of the selected date. You may provide a different initial month, or `null` to display the current one. |
| yearRange | an `IntRange` that holds the year range that the date picker will be limited to |
| initialDisplayMode | an initial `DisplayMode` that this state will hold |
| selectableDates | a `SelectableDates` that is consulted to check if a date is allowed. In case a date is not allowed to be selected, it will appear disabled in the UI. |