当前位置: 首页 > 知识库问答 >
问题:

从数据库返回到前端的日期/时间错误

陶鹏
2023-03-14

我以为问题首先是与Postgres有关,但后来我发现不是。当我检查终端时,显示的是正确的日期。又名2021-04-15。但是,当我使用相同的查询将其返回到我的前端时,日期和时间是错误的。(终端中没有时间戳,但返回结果前端中有一个。这是我返回前端的代码。

//get staff records
app.get("/admin/staff/display", async (req, res) => {
    try {
        const allStaffDetails = await pool.query("SELECT * FROM staff ORDER BY staff_id");
        res.json(allStaffDetails.rows);
    } catch (error) {
        console.error(error.message);
    }
});

我的前端代码如下。

    async function getStaff() {
        const res = await fetch("http://localhost:5000/admin/staff/display");
        const staffArray = await res.json();
        setStaff(staffArray);
    }

    useEffect(() => {
        getStaff();
    }, []);

    return (
        <Fragment>
            <Sidebar />
            {""}

            <div className="container">
                <div className="form-style text-center rcorners">
                    <h2>Staff</h2>
                    <AddStaff />
                    <table className="table mt-5">
                        <thead>
                            <tr>
                                <th scope="col">First Name</th>
                                <th scope="col">Last Name</th>
                                <th scope="col">PhoneNumber</th>
                                <th scope="col">Date</th>
                                <th scope="col">Edit</th>
                                <th scope="col">Delete</th>
                            </tr>
                        </thead>
                        <tbody>
                            {
                                staff.map(staff => (
                                    <tr key={staff.staff_id}>
                                        <td>{staff.firstname}</td>
                                        <td>{staff.lastname}</td>
                                        <td>{staff.phonenumber}</td>
                                        <td>{staff.date}</td>
                                        <td>

我的前端正在以以下格式返回数据-2021-04-14T23:00:00.000Z。它目前是英国的第15届,它(在撰写本报告时)和下午15点17分。理想情况下,我根本不希望记录/返回时间戳。只有日期。我是否遗漏了如何正确返回日期值?谢谢

共有1个答案

南门洋
2023-03-14

您必须检查什么是您的服务器的区域,通常它是由于不同的区域和时间戳使用的服务器。

这是由于不同的时区,您的本地是英国的时间,但您的服务器可能是其他时区。我建议您可以使用moment-timezone并设置时区,如

import moment from 'moment-timezone'
const todayDate = moment.tz(Date.now(), 'Asia/Kolkata').utcOffset('+05:30').format('DD-MM-YYYY')

如果您的服务器在其他时区,这将有所帮助。

 类似资料:
  • 我已经在我的应用程序中添加了一个按钮。当我点击按钮时,当前时间保存到SP。但我想把这个保存到我的firebase数据库里。我怎么能这么做?

  • 我有以下应该返回时间戳的函数。当使用以下斜杠以字符串格式输入日期时,此代码有效:“2019/3/4”,但在使用 怎么回事?

  • 问题内容: 我有一个包含表的MySQL数据库。 但是,我找不到在Java中将其作为Java中某种对象返回的方法。 我可以打电话给它,它会返回,但这并不好,因为没有办法比较字符串上的日期等。 我也可以打电话,但这根本不返回时间。 问题答案: 您需要使用Thomas的注释中建议的getTime()或getTimestamp()方法。举个例子… 说出要查询的表格,如下所示: 您可以这样做: 如果要使用J

  • 问题内容: 我正在对jdbc操作使用Spring JDBC模板。由于我使用的是BeanPropertySqlParameterSource,因此将bean的START_TIME变量分配为java.sql.date类型。在Oracle数据库中,该列被称为“ DATE”类型(并且没有TIMESTAMP类型,即使数据库为10.2 ver) 现在当我设定 它以日期和时间戳记存储为00:00:00 请告诉我

  • 问题内容: 假设我有一个时间戳值的DataFrame : 我想创建一个新列。我可以通过编写一个简短的函数并使用它来迭代地创建它来创建它: 然后,我将看到以下结果: 什么我 想 实现的是这样一些较短的转变(我知道是错误的,但在精神得到): 显然,该列是类型的,因此没有这些属性,但是似乎有一种使用矩阵运算的简单方法。 有更直接的方法吗? 问题答案: 假设时间戳是数据帧的索引,则可以执行以下操作: 如果

  • 我正试图将这些值插入到oracle数据库中,但我又犯了一个错误: 错误为:ORA-01843:不是有效月份 几个小时来一直试图解决这个问题,但我找不到问题!请帮忙!。 信息[http-8080-2](ecsystem.java:233)-2013-11-22 15:34:55.0\2013-11-22 15:34:55.0 希望这些信息能有所帮助!