1

我目前在应用程序中使用库 dayjs 进行时间跟踪。每个用户跟踪他们在分配上工作的分钟数,并且工作的总分钟数存储为整数。例如,总共工作 2 小时的用户将工作的总分钟数存储为120. 我试图产生的结果是,如果用户120工作了几个小时,我想将其显示为02:00. 我使用以下方法实现了这一点:

const totalMinutes = 120
const dateObject = dayjs.duration(totalMinutes, 'minutes').$d
 const hoursToString = dateObject.hours.toString()
    const minToString = dateObject.minutes.toString()
    const hours =
      hoursToString.length <= 1
        ? '0' + hoursToString
        : dateObject.hours.toString()
    const minutes = minToString.length <= 1 ? '0' + minToString : minToString
    const finalTime = hours + ':' + minutes


虽然这种方法有效,但我不禁觉得有一种更有效的方法来解决这个问题。附件是用于调试的代码沙箱https://codesandbox.io/s/nervous-chatelet-s6vxz?file=/src/App.js欢迎提出任何建议!

4

2 回答 2

0

感谢 Noleli 的建议,我发现 dayjs 提供了关于如何使用 dayjs 格式化持续时间的格式化选项。

const totalMinutes = 120
const finalTime = dayjs.duration(totalMinutes, 'minutes').format('HH:mm')
于 2021-04-14T16:01:12.117 回答
0

你可以尝试使用这个

例如

`const a = 2;

常量 c= str1.padStart(2, '0'); ` 这里 c 等于 "05"

在这里找到文档https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

于 2021-04-14T16:02:27.797 回答