reactjs - 为什么这个日期总和在 react 中没有正确显示?

标签 reactjs

我有以下组件,它只是获取当前日期,添加一年,然后渲染它。但它呈现出一个奇怪的数字

    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/

相关文章:

node.js - react js TypeError : Cannot read property 'params' of undefined

reactjs - react native : optimizing flatlist render item with useCallback

reactjs - 无法在 react 组件中动态创建元素

javascript - 在 Electron 与 react 应用程序中如何从最小化状态恢复后解决空白白屏

javascript - 在 React 中删除计时器的正确方法是什么?当执行 onClick 函数后创建它们时

reactjs - Ant 设计: get Id from datepicker in onChange

reactjs - 如何对 Ant Design 的 Form getFieldDecorator() 进行 stub ?

javascript - this.state 在 React 中同时具有变量和对象?

reactjs - 使用 WebPack CommonsChunkPlugin 提取重复的 javascript 代码

javascript - 在哪里保存 api 的 JSON 响应?