尝试将 unix 秒数转换为可读格式时弄错年份

Getting wrong year when tryting to convert unix seconds to a readable format

我正在尝试将时间戳从日期时间输入转换为可读格式。时间戳以 unix 秒为单位。当我尝试使用 momentJS 转换时间戳时,我得到了一个完全不同的年份(在本例中为 3990)。我怎样才能得到正确的年份。日期完全正确。我在下面有一些图片。第一个是转换器网站上给出的值。第二张图片是来自数据库的时间戳 console.log,最后一张图片是页面上显示的内容。

{events.map((data) => {
                            console.log(data.date)
                            return (
                                <li key={data.key} className="event-card">
                                    <Link className="eventlink-card" to={{
                                        pathname: `/hendingar/${data.key}`,
                                        state: {passedData: data}
                                    }}>
                                            <h1 className="event-title">{data.name}</h1>
                                            <p className="event-date">{moment.unix(data.date).format('DD/MM/YYYY')}</p>
                                    </Link>
                                </li>
                            )
                        })}

如果该控制台日志输出来自 console.log(data.date),那么看起来您正在将整个对象传递给 moment.unix 而不仅仅是秒数。试试 moment.unix(data.date.seconds).format('DD/MM/YYYY').

尝试使用

 moment.unix(1624876560).format('dddd, MMMM Do, YYYY h:mm:ss A')

它将输出 2021 年 6 月 28 日星期一 1:36:00 下午(格林威治标准时间 +3 我的时区)