【发布时间】:2021-06-24 03:27:16
【问题描述】:
我想使用 date-fns 和 React Native 将毫秒数转换为人类可读的格式。
我已经成功地进行了转换:interval > duration > human readable format,并且一直到 seconds 都可以正常工作,但 milliseconds 被省略了。
当前代码:
const niceFormatDuration = (intervalInMs) => {
const milliseconds = Number.parseInt(intervalInMs % 1000, 10);
const duration = intervalToDuration({ start: 0, end: intervalInMs });
return formatDuration(duration);
};
上面的代码工作正常,但缺少毫秒。我已将毫秒添加到持续时间对象中:
duration["milliseconds"] = milliseconds;
但formatDuration 仍然只返回几秒。
还尝试将新的milliseconds 格式添加到formatDuration,但抛出错误。
{
format: [
"years",
"months",
"weeks",
"days",
"hours",
"minutes",
"seconds",
"milliseconds", // Not working with this line
],
}
显然我可以在字符串末尾手动添加毫秒,但这看起来很难看:
return `${formatDuration(duration)} ${milliseconds} ms`;
【问题讨论】:
-
也许将
intervalInMs % 1000, 10更改为intervalInMs % 1, 10?从来没有用过那个库,但为什么不用 vanilla js 转换日期呢?
标签: javascript react-native date-fns