Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么赢了';这些日期在reactjs中是否正确显示?_Javascript_Reactjs - Fatal编程技术网

Javascript 为什么赢了';这些日期在reactjs中是否正确显示?

Javascript 为什么赢了';这些日期在reactjs中是否正确显示?,javascript,reactjs,Javascript,Reactjs,创建一个假期租赁web应用程序,我有一个组件,可以获取用户的预订,并将其显示在他们的个人资料中。以下是从API检索到的预订日期列表: 0: "2021-05-01T00:00:00.000Z" 1: "2021-05-02T00:00:00.000Z" 2: "2021-05-03T00:00:00.000Z" 3: "2021-05-04T00:00:00.000Z" 4: "2021-05-05T00:

创建一个假期租赁web应用程序,我有一个组件,可以获取用户的预订,并将其显示在他们的个人资料中。以下是从API检索到的预订日期列表:

0: "2021-05-01T00:00:00.000Z"
1: "2021-05-02T00:00:00.000Z"
2: "2021-05-03T00:00:00.000Z"
3: "2021-05-04T00:00:00.000Z"
4: "2021-05-05T00:00:00.000Z"
这些是正确的日期,所以我知道数据库和API都很好

现在,在我的react应用程序中,我使用moment来显示日期,尽管日期跨越5月1日至5日,但在UI上,它显示的是4月30日至5月4日的日期。以下是在我的应用程序中显示日期的代码:

{bookings.length > 0 ? (
        <Row gutter={18}>
          <Table striped bordered hover>
            <thead>
              <tr>
                <th>#</th>
                <th>Number Of Guests</th>
                <th>Start Date</th>
                <th>End Date</th>
              </tr>
            </thead>
            {bookings.map((booking, index) => (
              <tbody>
                <tr>
                  <td>{index}</td>
                  <td>{booking.numberOfGuests}</td>
                  <td>{moment(booking.dates[0]).format('MMM DD YYYY')}</td>
                  <td>
                    {moment(booking.dates[booking.dates.length - 1]).format(
                      'MMM DD YYYY'
                    )}
                  </td>
                </tr>
              </tbody>
            ))}
          </Table>
使用


可能是因为时区的原因,如果您使用的是矩,请检查一下,也许在这里您可以找到一些东西:当然,这是时区问题,如果您不使用该00:00:00小时分秒,则以yyyy-mm-dd的形式存储日期。或者您必须应用currect时区问题始终是一个难题。但是,试着把你的时间锁定在一个特定的时区,看看这是否有帮助。
{moment(booking.dates[0]).format('MMM DD YYYY')
{moment.utc(booking.dates[0]).format('MMM DD YYYY')