javascript - 在 date-fns 中为 formatDuration 添加毫秒
问题描述
我想使用date-fns
React Native 将毫秒数转换为人类可读的格式。
我已经设法进行了转换:interval > duration > human readable format
并且一直到秒都可以正常工作,但是省略了毫秒。
当前代码:
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`;
解决方案
来自 date-fns 文档:https ://date-fns.org/v2.19.0/docs/Duration
Duration 对象不存储毫秒,所以这是不可能的。
向对象添加附加属性不会改变使用持续时间的函数的实现。函数根本不期望也不寻找这个属性。
您需要自己附加毫秒。
推荐阅读
- r - 用于模拟具有不同赫斯特指数的时间序列的 R 包?
- c++ - 如何以可恢复(事务)方式写入文件?
- time-complexity - 在插入新项目线性时间O(n)时对数组进行排序?
- ios - 初始化程序误解了参数的数据类型
- firebase - 基于角色的访问的 Firestore 安全规则
- nlp - 来自 gensim 的意外 lemmatize 结果
- javascript - React Native - 无法从路径导入图像
- python - 使用 numpy 进行类似的矩阵计算
- python - 我怎样才能使这个python函数更好?
- sql - Job Class 的 Charge Hour 最小和最大的个体是多少?