Set the minimum time in TimePickerAndroid.

I want to set 5:00 PM as the minimum time at TimePickerAndroid. How can i install it?

this.showPicker.bind(this, 'simple', {
         hour: new Date().getHours(),
         minute: new Date().getMinutes(),
         minHour: this.props.minHour // I am passing 5 as minHour prop
})

I tried this but did not work.

+8
source share
3 answers

This library helps to solve the problem, but because timepickerandroid apiin react-nativedoes not min & max time properties, therefore, min & max time propertiescan be set to only ios, and not forandroid

You can use this property to set min & max times, but it will only work forios

0
source

, minDate Android. IOS.

. datetime prop.

, Android.

                    <DatePicker
                      style={{width: 200}}
                      date={this.state.valueDate}
                      mode="datetime"
                      format="YYYY-MM-DDTHH:mm"
                      minDate={new Date()}
                      confirmBtnText="Confirm"
                      cancelBtnText="Cancel"
                      customStyles={{
                        dateIcon: {
                          position: 'absolute',
                          left: 5,
                          top: 4,
                          marginLeft: 10
                        },
                        dateInput: {
                          marginLeft: 46
                        }
                      }}
                      onDateChange={(date) => {   // returns 2019-10-15T23:23 - set in format prop
                        var selectedDate = new Date(date);
                        var dateNow = new Date();
                        var YYYY = dateNow.getFullYear();
                        var MM = dateNow.getMonth()+1; //value for January is 0
                        var DD = dateNow.getDate();
                        var HH = dateNow.getHours();
                        var mm = dateNow.getMinutes();
                        var currentDate = new Date(YYYY+'-'+MM+'-'+DD+'T'+HH+':'+mm)

                        if(selectedDate.getTime()>currentDate.getTime()){   //getTime() - Get the time (milliseconds since January 1, 1970)
                          var selectedYYYY = selectedDate.getUTCFullYear();
                          var selectedMM = selectedDate.getUTCMonth()+1;
                          var selectedDD = selectedDate.getUTCDate();
                          var selectedHH = selectedDate. getUTCHours();
                          var selectedmm = selectedDate.getUTCMinutes();
                          this.setState({
                            valueDate:date,
                            date: selectedYYYY+'-'+selectedMM+'-'+selectedDD,
                            time: selectedHH+':'+selectedmm
                          })

                        }else{
                          alert("Selected time is Invalid!");
                        }}
                        }

                    />

, !

0

, minDate Android. IOS.

, Android.

- fooobar.com/questions/15565864/...

, !

0

Source: https://habr.com/ru/post/1673501/


All Articles