【问题标题】:date-fns "RangeError: Invalid time value"date-fns "RangeError: 时间值无效"
【发布时间】:2022-01-16 12:00:20
【问题描述】:

我正在尝试使用 date-fns 将 18:00:00.000 转换为 24H (18:00) 和 12H (6PM) 格式。但是,18:00:00.000 的输入值给出了“RangeError: invalid time value”。

我的代码

dateFns.format(new Date(18:00:00.000), 'H:mm')

如果我以 dateTime 格式传递时间,例如 2022-01-04T11:00:00.000Z,我没有问题,但我只需要时间(小时和分钟)。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您的代码失败了,因为new Date() 需要有效的日期时间字符串来创建新的日期对象。要解决此问题,只需制定一个当前日期字符串并附加您需要的时间戳并将其传递给new Date() 方法。然后你可以将日期对象传递给 format 方法以获得所需的输出。

    请参阅this 图表以根据您的要求设置日期格式。

    const now = dateFns.format(new Date(), 'YYYY-MM-DD');
    const custTime = '18:00:00.000';
    const custDt = new Date(`${now} ${custTime}`);
    console.log(dateFns.format(custDt, 'h:mm A'));
    <script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.0.0-alpha0/date_fns.min.js" integrity="sha512-0kon+2zxkK5yhflwFqaTaIhLVDKGVH0YH/jm8P8Bab/4EOgC/n7gWyy7WE4EXrfPOVDeNdaebiAng0nsfeFd9A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

    【讨论】:

      猜你喜欢
      • 2021-08-30
      • 2022-07-21
      • 2020-07-25
      • 2019-06-25
      • 2019-12-23
      • 1970-01-01
      • 2021-06-25
      • 2020-12-31
      • 2017-10-31
      相关资源
      最近更新 更多