人类可读持续时间的格式?JavaScript
Format for human readable duration? JavaScript
我有这个function
用于人类可读的持续时间。
function formatDuration (seconds) {
function numberEnding (number) {
return (number > 1) ? 's' : '';
}
if (seconds > 0){
var years = Math.floor(seconds / 31536000);
var days = Math.floor((seconds % 31536000) / 86400);
var hours = Math.floor(((seconds % 31536000) % 86400) / 3600);
var minutes = Math.floor((((seconds % 31536000) % 86400) % 60);
var second = (((seconds % 31536000) % 86400) % 3600) % 0;
var r = (years > 0 ) ? years + " year" + numberEnding(years) : "";
var x = (days > 0) ? days + " day" + numberEnding(days) : "";
var y = (hours > 0) ? hours + " hour" + numberEnding(hours) : "";
var z = (minutes > 0) ? minutes + " minute" numberEnding(minutes) : "";
var u = (second > 0) ? second + " second" + numberEnding(second) : "";
var str = r + x + y + z + u
return str
}
else {
return "now"}
}
}
如何将r
, x
, y
, z
和u
放在一起,如果有两个以上,最后一个总是由and
隔开,其余的由comma
隔开。结果也是string
类型。
例子:
"年"、"日"、"时"、"分"answers"秒"
"年"、"日"、"小时"answers"分钟"
"年"
"第二"
"分"answers"秒"
它继续……
我试图将它们放入array
以便能够使用slice()
,但它并没有返回所有可能组合的理想结果。由于
你在正确的轨道上的数组:
var a = [];
//...push things as you go...
var str = a.length == 1 ? a[0] : a.slice(0, a.length - 1).join(", ") + " and " + a[a.length - 1];
(我个人更喜欢牛津逗号["this, that, and the other"],但你的例子没有使用它,所以这是你要求的…)
<<p> 生活例子/strong>:test(["this"]);
test(["this", "that"]);
test(["this", "that", "the other"]);
function test(a) {
var str = a.length == 1 ? a[0] : a.slice(0, a.length - 1).join(", ") + " and " + a[a.length - 1];
snippet.log("[" + a.join(", ") + "] => " + str);
}
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
相关文章:
- 正则表达式货币格式 - javascript
- 电话号码格式javascript
- 将CSS转换为不同的格式(JavaScript / jQuery)
- 将对象转换为顺序数组格式 - javascript
- 将日期字符串转换为 UTC 时间格式 JavaScript
- IE 中的数据格式 JavaScript 库
- 更改日期格式javascript
- Laravel时间戳格式/JavaScript日期
- 其他格式javascript中的mock-json对象
- 将数字转换为日期格式| Javascript |
- Drupal格式Javascript包含在主题中
- 人类可读持续时间的格式?JavaScript
- 按名称分隔值并打印为查询格式javascript
- 格式坐标格式javascript [NODEJS]
- 获取随机日期是“;yyyy-mm-dd”;格式Javascript
- 从对象数组中获取键值数组,而不知道对象数组的格式(Javascript)
- 字符串格式JavaScript
- MS Excel中打开的.csv文件提供了错误的Utf-8格式(Javascript)
- 数字格式 - Javascript 从 NumberFormat 获取十进制和千位分隔符
- 日期格式javascript