# DatePicker
>  **说明:**
> 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
选择日期和时间的滑动选择器组件。
## 权限列表
无
## 子组件
无
## 接口
DatePicker(value:{start?: Date, end?: Date, selected?: Date, type?: DatePickerType})
根据指定范围的Date创建可以选择时间或者日期的滑动选择器。
- 参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | -------- | -------- | -------- | -------- |
| start | Date | 否 | Date('1970-1-1') | 指定选择器的起始日期。 |
| end | Date | 否 | Date('2100-12-31') | 指定选择器的结束日期。 |
| selected | Date | 否 | 当前系统日期或时间 | 当type为DatePickerType.Date时,设置选中项的日期,当type为DatePickerType.Time时,设置选中项的时间。 |
| type | DatePickerType | 否 | DatePickerType.Date | 指定选择器的类型,包括日期选择器和时间选择器,缺省使用日期选择器。 |
- DatePickerType枚举说明
| 名称 | 描述 |
| -------- | -------- |
| Date | 日期选择器。 |
| Time | 时间选择器。 |
## 属性
| 名称 | 参数类型 | 默认值 | 描述 |
| -------- | -------- | -------- | -------- |
| lunar | boolean | false | 日期是否显示农历。
- true:展示农历。
- false:不展示农历。 |
| useMilitaryTime | boolean | false | 展示时间是否为24小时制。 |
## 事件
| 名称 | 功能描述 |
| -------- | -------- | -------- |
| onChange(callback: (value: DatePickerResult) => void) | 选择日期或时间时触发该事件。 |
- DatePickerResult对象说明
| 名称 | 参数类型 | 描述 |
| -------- | -------- | -------- |
| year | number | 选中日期的年(type为DatePickerType.Date)。 |
| month | number | 选中日期的月(type为DatePickerType.Date)。 |
| day | number | 选中日期的日(type为DatePickerType.Date)。 |
| hour | number | 选中时间的时(type为DatePickerType.Time)。 |
| minute | number | 选中时间的分(type为DatePickerType.Time)。 |
## 示例
### 日期选择器(显示农历)
```
@Entry
@Component
struct DatePickerExample01 {
private selectedDate: Date = new Date('2021-08-08')
build() {
Column() {
DatePicker({
start: new Date('1970-1-1'),
end: new Date('2200-1-1'),
selected: this.selectedDate,
type: DatePickerType.Date
})
.lunar(true)
.onChange((date: DatePickerResult) => {
console.info('select current date is: ' + JSON.stringify(date))
})
}.width('100%')
}
}
```

### 日期选择器(不显示农历)
```
@Entry
@Component
struct DatePickerExample02 {
private selectedDate: Date = new Date('2021-08-08')
build() {
Column() {
DatePicker({
start: new Date('1970-1-1'),
end: new Date('2200-1-1'),
selected: this.selectedDate,
type: DatePickerType.Date
})
.lunar(false)
.onChange((date: DatePickerResult) => {
console.info('select current date is: ' + JSON.stringify(date))
})
}.width('100%')
}
}
```

### 时间选择器
```
@Entry
@Component
struct DatePickerExample03 {
private selectedTime: Date = new Date('2021-9-29 08:00:00')
build() {
Column() {
DatePicker({
start: new Date('00:00:00'),
end: new Date('23:59:59'),
selected: this.selectedTime,
type: DatePickerType.Time
})
.useMilitaryTime(true)
.onChange((date: DatePickerResult) => {
console.info('select current date is: ' + JSON.stringify(date))
})
}.width('100%')
}
}
```
