我如何获得反应本机的时间
How do I get time in 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'
/>
我正在让 timePicker 出现在屏幕上,但在选择时间后它显示了带有所选时间的完整日期,但我只想要时间
我得到的输出是,
A time has been picked: Tue Feb 05 2019 12:25:00 GMT+0530 (India Standard Time)
您可以使用 new Date()
。
let date = new Date(time)
.
小时数:
date.getHours()
分钟数:
date.getMinutes()
react-native-modal-datetime-picker
实际上returns一个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)}`)
处理时间returns是个位数的情况,只需要将得到的值转成字符串,检查长度,如果有则在前面加一个0
不够长。
这里有工作代码的点心https://snack.expo.io/@andypandy/date-time-modal-picker
这里react-native-modal-datetime-picker返回的时间是一个JavaScriptDate对象,所以可以这样获取时分秒:
_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();
};
我正在使用 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)
您可以使用 new Date()
。
let date = new Date(time)
.
小时数:
date.getHours()
分钟数:
date.getMinutes()
react-native-modal-datetime-picker
实际上returns一个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)}`)
处理时间returns是个位数的情况,只需要将得到的值转成字符串,检查长度,如果有则在前面加一个0
不够长。
这里有工作代码的点心https://snack.expo.io/@andypandy/date-time-modal-picker
这里react-native-modal-datetime-picker返回的时间是一个JavaScriptDate对象,所以可以这样获取时分秒:
_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();
};