Javascript 为什么赢了';这些日期在reactjs中是否正确显示?
创建一个假期租赁web应用程序,我有一个组件,可以获取用户的预订,并将其显示在他们的个人资料中。以下是从API检索到的预订日期列表: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:
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')