我有柜台在地方上传文件的一个“剩余时间”。 剩余持续时间被计算并转化为毫秒,像这样:
var elapsedTime = e.timeStamp - timestarted;
var speed = e.loaded / elapsedTime;
var estimatedTotalTime = e.totalSize / speed;
var timeLeftInSeconds = (estimatedTotalTime - elapsedTime) / 1000;
然后我建立我打算建立成一个人源化的字符串的数组。 阵列是如下:
var time = {
years : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').years()),
months : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').months()),
days : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').days()),
hours : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').hours()),
minutes : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').minutes()),
seconds : Math.round(moment.duration(timeLeftInSeconds, 'milliseconds').seconds())
};
这一切工作完美,如果我这个输出数据像这样的字符串表示:
console.log(time.years + ' years, ' + time.months + ' months, ' + time.days + ' days, ' + time.hours + ' hours, '+ time.minutes + ' minutes, ' + time.seconds + ' seconds');
我返回剩余时间,像这样的一个不错的简单流:
0 years, 0 months, 0 days, 0 hours, 1 minutes, 7 seconds
我现在需要做的是人性化这输出使带子构建依赖于剩余的时间。 例如
- 2年余下的3个
- 1小时后,32分剩余41秒
- 7秒剩余
- 3分钟46秒剩余
- 6秒剩余
等...等...
现在我知道moment.js有abiility自动人性化的持续时间,其单值工作正常,但这个可以有多个可能的值(小时/分/秒等)
我怎么能去要么moment.js或手动构建字符串人性化这个数据?
提前致谢。