我使用的反应 - 本机模式,日期时间选取器库,以获取用户的时间。但我得到的时间与完整的日期我应该如何从得到的时间。以下是我的代码以获取时间。
_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)
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)}`)
为了处理这种情况时,每次返回一个数字,所有你需要做的是转换你进入一个字符串值,检查它的长度和0
添加到前面,如果它不够长。
这里是工作的代码https://snack.expo.io/@andypandy/date-time-modal-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();
};
您可以使用new Date()
。 let date = new Date(time)
。
用了几个小时:
date.getHours()
几分钟:
date.getMinutes()