我正在使用jira rest api来解决问题。问题估计时间以秒为单位返回 - 但基于每周5天,每天8小时。
因此,例如,1d
的估计时间将被返回为28800秒
我有这个代码可以做我想要的,但它闻起来有点我想知道是否有更好的功能来做我想要的
let es = 246180; // time (number of *work* seconds) is "1w 3d 4h 23m"
let sInMin = 60;
let sInHour = (60 * 60);
let sInDay = (sInHour * 8);
let sInWeek = (sInDay * 5);
let w = Math.trunc(es / sInWeek);
let d = Math.trunc((es - (w * sInWeek)) / sInDay);
let h = Math.trunc((es - (w * sInWeek) - (d * sInDay)) / sInHour);
let m = Math.trunc((es - (w * sInWeek) - (d * sInDay) - (h * sInHour)) / sInMin);
console.log(w,d,h,m) // 1 3 4 23
如果我将moment
和moment-duration-format
添加到混音中,我就可以
moment.duration({w,d,h,m}).format("w[w] d[d] h[h] m[m]")
获取神奇的1w 3d 4h 23m
字符串
我该如何改善这个?
答案 0 :(得分:1)
JIRA REST API已经为您提供了您尝试计算的字段。
来自文档here中的示例回复:
"timetracking": {
"originalEstimate": "10m",
"remainingEstimate": "3m",
"timeSpent": "6m",
"originalEstimateSeconds": 600,
"remainingEstimateSeconds": 200,
"timeSpentSeconds": 400
}
您正在抓取originalEstimateSeconds
字段并尝试进行数学运算以获取字符串,但字符串已在originalEstimate
字段中排在前面。无需计算。