>>>> react实现时间按秒变化
实现一个小功能,显示当前的系统时间,且时间根据秒变化。这个很容易实现的,实现思路如下:
componentDidMount() {
this.interval = setInterval(() => this.setState({ time: this.timestampToTime(new Date().getTime()) }), 1000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
/**
* 将时间戳转为年月日时分秒格式
* @param {*} timestamp
*/
timestampToTime(timestamp) {
var date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
let strDate = Y + M + D + h + m + s;
return strDate;
}
最后在render里面显示time即可: {this.state.time}