React 渲染 Epoch 时间戳转换为 am pm

React render Epoch timestamp convert to am pm

我正在做一个个人 React.js 项目。我正在获取一个 API,其中一个值是 Epoch timestamp。我想将其呈现为人类可读的时间,如 am/pm。 Epoch 时间戳在 map 之后呈现。下面你可以看到代码:

{value.map((dog, c) => (
                  <div key={c}>
                    <div><b>Race name:</b> {dog.Venue}</div>
                    <div><b>Start time:</b> {dog.AdvertisedStartTime}</div>

{dog.AdvertisedStartTime} 呈现一个数字,如:1641079080000。这个数字是未来的某个时间,例如 1:30pm

let yourTimestamp = 1641079080000, (any number)
date = new Date(yourTimestamp * 1000),
dateVal = [
  date.getFullYear(),
  date.getMonth()+1,
  date.getDate(),
  date.getHours(),
  date.getMinutes(),
  date.getSeconds(),
];
console.log(dateVal);

请注意:时-分和秒取决于您操作系统的时区。 在不同的时区,它可以是任何东西。因此,您可以将时区偏移量添加到创建 GMT 日期的时间:

let myDate = new Date();
date = new Date(timestamp*1000 + myDate.getTimezoneOffset() * 60000)

你可以这样做。首先定义一个辅助函数来将 Epoch 转换为所需的语言环境并在地图中使用它。函数可以是

function convertEpoch(value) {
  if (!value) {
    return ''
  }
  const time = new Date(Number(value));
  if (isNaN(time.valueOf())) {
    return '';
  }
  return time.toLocaleString("en-US", { hour: "numeric", minute: "numeric", hour12: true });
}

并在你的 map 赞中使用它

{value.map((dog, c) => (
              <div key={c}>
                <div><b>Race name:</b> {dog.Venue}</div>
                <div><b>Start time:</b> {convertEpoch(dog.AdvertisedStartTime)}</div>

这是一个我们如何轻松获取时间的示例。

let today=new Date().toLocaleTimeString(); console.log(今天);

所以你可以试试这个:

{value.map((dog, c) => (
          <div key={c}>
            <div><b>Race name:</b> {dog.Venue}</div>
            <div><b>Start time:</b> {convertEpoch(dog.AdvertisedStartTime.toLocaleTimeString();)}</div>

这是一个我们如何轻松获取时间的示例。

let today=new Date().toLocaleTimeString(); console.log(今天); 所以你可以试试这个:

{value.map((dog, c) => (
          <div key={c}>
          {convertEpoch(dog.AdvertisedStartTime.toLocaleTimeString();)}</div>