使用React Moment在React Semantic UI中显示数据库中的时间

时间:2018-08-22 21:55:56

标签: reactjs datetime time momentjs semantic-ui-react

时间戳字符串存储在数据库中,如下所示:

startsAt: 1535705100000
endsAt: 1535708100000

目前有一个const endTime应该将时间戳字符串转换为人类可读的格式,以及类似这样的TimeInput字段:

从“反应时刻”导入时刻;     ..

  const endTime = (
    <Moment unix format="HH:mm">
      {endsAt / 1000}
    </Moment>
  );

..
import { TimeInput } from "semantic-ui-calendar-react";

      <TimeInput            
        ..
        name="startsAt"
        placeholder="00:00"
        value={endTime}
        ..
      />

在声明了const endTime之后,呈现给输入字段的是[object Object]。

问题是-我是否可以用来创建一个常量,将其显示为TimeInput组件中的值。

OR / ALSO-在这种情况下从字符串呈现可读时间的最佳方法是什么?所需输出:H:mm

非常感谢!

1 个答案:

答案 0 :(得分:0)

看看您的控制台。我的猜测是,您的TimeInput组件上的value道具也可能会遇到道具类型错误。它正在渲染[object Object],因为您要在其中传递React组件而不是字符串。因此,看来value不接受React组件作为输入。

您使用react-moment作为您的包来转换时间。但是在转换显示的时间时,它将始终在字符串周围呈现某种html标签。您应该改为尝试使用moment。主库将为您返回一个实际的字符串,您可以将其直接传递到value