我如何获得时间来反应原生

Aht*_*hah 0 android datetimepicker timepicker react-native

我正在使用react-native-modal-datetime-picker库来获取用户的时间。但我正在获得完整日期的时间,我应该如何从中获得时间。以下是我获取时间的代码。

    _showDateTimePicker = () => this.setState({ isDateTimePickerVisible: true });

            _hideDateTimePicker = () => this.setState({ isDateTimePickerVisible: false });

            _handleDatePicked = (time) => {
                console.log('A time has been picked: ', time);
                this._hideDateTimePicker();
            };

                <DateTimePicker
                    isVisible={this.state.isDateTimePickerVisible}
                    onConfirm={this._handleDatePicked}
                    onCancel={this._hideDateTimePicker}
                    mode='time'
                />
Run Code Online (Sandbox Code Playgroud)

我的屏幕上出现了 timePicker,但在选择时间后,它显示了包含所选时间的完整日期,但我只想要时间
我得到的输出是,

A time has been picked:  Tue Feb 05 2019 12:25:00 GMT+0530 (India Standard Time)
Run Code Online (Sandbox Code Playgroud)

And*_*rew 6

react-native-modal-datetime-picker实际上返回一个 Javascript Date 对象

您可以使用 Date 对象的属性来访问不同的值https://www.w3schools.com/jsref/jsref_obj_date.asp

您需要使用getHours() getMinutes()getSeconds()从约会中提取相关信息。

let date = new Date();

let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
console.log(`${hours}:${minutes}:${seconds}`)

// how to handle the cases where time is one digit
function makeTwoDigits (time) {
  const timeString = `${time}`;
  if (timeString.length === 2) return time
  return `0${time}`
}

console.log(`${makeTwoDigits(hours)}:${makeTwoDigits(minutes)}:${makeTwoDigits(seconds)}`)
Run Code Online (Sandbox Code Playgroud)

要处理时间返回单个数字的情况,您需要做的就是将获得的值转换为字符串,检查其长度,0如果不够长,则在前面添加一个。

这是带有工作代码的小吃https://snack.expo.io/@andypandy/date-time-modal-picker