'React Native Community DateTimePicker value.getTime is undefined
Hey guys I have few questions regarding the community version of the RN DateTimePicker (https://github.com/react-native-datetimepicker/datetimepicker#value-required)
First of all my Code:
State:
activityDate: todaysDate, (just a JS new Date())
showDatePicker: false 
Toggle Function:
  showDatePickerHandler = () => {
    this.setState({
      showDatePicker: !this.state.showDatePicker
    })
  }
DateTimePicker Code:
   <Button onPress={this.showDatePickerHandler} title="Open"/>
    <>
    { this.state.showDatePicker && (
    <DateTimePicker 
      // style={{width: "60%"}}
      value={this.state.activityDate}
      placeholderText="Pick your Date"
      onChange={(event, date) => {
        this.resetSOFT()             
        this.setState({ 
          // activityDate: date,
          activityDate: Moment(date).format("YYYY-MM-DD"),
          checked: false,
         }
        )  
      }}
    />
    )}
    </>
Here is what I am experiencing:
- When I open the DatePicker and then chose a date and press Ok (or cancel) my App reloads with this error: TypeError: value.getTime is not a function. (In 'value.getTime()', 'value.getTime' is undefined) - value is set to new Date() so thats weird 
- is there a way to set a Format to the whole DateTimePicker Component? something like - format = "YYYY-MM-DD"and then it should use this format for the date
I was using: https://github.com/xgfe/react-native-datepicker before which had some good formating functions and an easy way to handle dates - but since its buggy on IOS and has no maintainer I wanted to switch..
Edit: On my first Press it looks good I am getting a Date but when I open it again it crashes the app and reloads it.. how can I safely close the Picker? is it enought to setState of showDatePicker to false in the onChange?
Solution 1:[1]
You can only set a new Date() type as the value of DateTimePicker component.
You can show the date in required format in another component like below.
  <>
    {this.state.showDatePicker && (
      <DateTimePicker 
        style={{height: 0}}
        value={this.state.activityDate}
        placeholderText="Pick your Date"
        onChange={(event, date) => {
          this.resetSOFT()             
          this.setState({ 
            activityDate: date,
            checked: false,
            showDatePicker: false
          })  
       }}
      />
    )}
    <TouchableOpacity style={{padding:20, width:'80%', alignItems:'center', justifyContent:'center'}} onPress={()=>showDatePickerHandler()}>
      <Text>{Moment(date).format("YYYY-MM-DD")}</Text>
    </TouchableOpacity>
  </>
Solution 2:[2]
replace Value.getTime by Date.perse(value) in node_Modules in
node_modules/@react-native-community/datetimepicker/src at
1.DatatimePicker.android.js line No:88,
2.DatatimePicker.ios.js line No:69
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | |
| Solution 2 | Salman | 
