我有以下组件,它只是获取当前日期,添加一年,然后渲染它。但它呈现出一个奇怪的数字
import React from 'react'
class Calendario extends React.Component {
constructor(props) {
super(props);
this.state = {
birth_date : new Date(),
years_to_live: 10,
death_date: ""
};
}
componentDidMount() {
var death_date = this.state.birth_date.setFullYear(this.state.birth_date.getFullYear() + 1) //this is should result in the current date +1
this.setState({ death_date : death_date});
}
render() {
return (
<div>
<p>Hello world!</p>
<p>{this.state.death_date}</p>
</div>
)
}
}
export default Calendario;
由于某种原因会渲染
1610227797517
而不是
Sat Jan 09 2021 22:21:12 GMT+0100 (Central European Standard Time)
问题是什么?
最佳答案
您将返回一个整数日期,因为您正在使用 JavaScript Date
对象作为 birth_date
。
您可以将其解析回日期以执行您需要的操作(格式等)
var dt = new Date(1610227797517);
console.log(dt);
// output: Sat Jan 09 2021 16:29:57 GMT-0500 (Eastern Standard Time)
但是,您应该能够在对象本身上使用格式
console.log(this.state.death_date.toDateString());
// output: Sat Jan 09 2021
关于reactjs - 为什么这个日期总和在 react 中没有正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59672415/