如何更改时间格式?
How to change the format of time?
我有一个时间类型的输入,当我点击它时,我可以 select 从 1 点到 12 点一小时,分钟和 AM/PM。 snapshot
当我渲染 selection 时,它以 24 小时制显示。但是,相反,我希望它采用 12 小时格式。
我正在开发一个 react-redux 应用程序。
<input type='time'
onChange={(e) => this.setState({
time: e.target.value
})}
value={this.state.time} />
state = {
time: ''
}
render = () => {
return (
<span>{time}</span>
)
}
您可以使用此功能更改时间格式:
const timeConvertor = (time) => {
// first checks the correct time format and then split it into components
time = time.toString ().match (/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];
if (time.length > 1) { // If the time format is correct
time = time.slice (1); // Remove full string match value
time[5] = +time[0] < 12 ? 'AM' : 'PM'; // Set AM/PM based on given hour
time[0] = +time[0] % 12 || 12; // change the hour based on AM/PM
}
return time.join (''); // return new time format as a String
}
例如:
timeConvertor('20:50:00'); // will return '8:50:00PM'
我有一个时间类型的输入,当我点击它时,我可以 select 从 1 点到 12 点一小时,分钟和 AM/PM。 snapshot
当我渲染 selection 时,它以 24 小时制显示。但是,相反,我希望它采用 12 小时格式。
我正在开发一个 react-redux 应用程序。
<input type='time'
onChange={(e) => this.setState({
time: e.target.value
})}
value={this.state.time} />
state = {
time: ''
}
render = () => {
return (
<span>{time}</span>
)
}
您可以使用此功能更改时间格式:
const timeConvertor = (time) => {
// first checks the correct time format and then split it into components
time = time.toString ().match (/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [time];
if (time.length > 1) { // If the time format is correct
time = time.slice (1); // Remove full string match value
time[5] = +time[0] < 12 ? 'AM' : 'PM'; // Set AM/PM based on given hour
time[0] = +time[0] % 12 || 12; // change the hour based on AM/PM
}
return time.join (''); // return new time format as a String
}
例如:
timeConvertor('20:50:00'); // will return '8:50:00PM'