如何在react native中获得时间

yv5phkfx  于 2023-01-21  发布在  React
关注(0)|答案(4)|浏览(260)

我正在使用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'
                />

我得到的timePicker来在屏幕上,但选择一个时间后,它是显示一个完整的日期与选定的时间,但我只想要的时间
我得到的输出是,

A time has been picked:  Tue Feb 05 2019 12:25:00 GMT+0530 (India Standard Time)
pxiryf3j

pxiryf3j1#

react-native-modal-datetime-picker实际上返回一个Javascript日期对象
您可以使用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)}`)

要处理time返回单个数字的情况,您需要做的就是将得到的值转换为字符串,检查其长度,如果长度不够,则在前面添加一个0
下面是工作代码https://snack.expo.io/@andypandy/date-time-modal-picker

js5cn81o

js5cn81o2#

这里,react-native-modal-datetime-picker返回的时间是一个JavaScript Date对象,因此您可以获得小时、分钟和秒,如下所示:

_handleDatePicked = (time) => {
        const hours = time.getHours();
        const minutes = time.getMinutes();
        const seconds = time.getSeconds();
        console.log('A time has been picked: ', hours, minutes, seconds);
        this._hideDateTimePicker();
    };
7d7tgy0s

7d7tgy0s3#

您可以使用new Date() . let date = new Date(time)

对于小时数:

date.getHours()

分钟:

date.getMinutes()
2izufjch

2izufjch4#

const time = new Date().toUTCString()

相关问题