这只是为了好玩。对于将(负和正)分钟转换为hh:mm格式的函数,最短代码替换是什么? 例子:90分钟 - > 1:30,0 - > “”, - 90 - > -1:30,1 - > 0点01分。
我确实有自己的功能,就像一个魅力,但也许你发现自己挑战写一个单行,这就像我有点尴尬的5班轮一样。请不要包含任何第三方库。
function convertMinutesToHourStr(minutes) {
if (minutes === 0)
return "";
var minutesStr = Math.abs(minutes) % 60 < 10 ? "0" + Math.abs(minutes) % 60 : Math.abs(minutes) % 60;
var str = parseInt(Math.abs(minutes) / 60) + ":" + minutesStr;
return minutes < 0 ? "-" + str : str;
}
再次说明:这只是为了为一项简单的任务编写最短的代码而挑战,并向所有那些非常聪明的人发送。这不是为了工作。是的,我知道,有很多类似的问题,所以请不要说“重复”和降级。如果您对此问题感到不满,请忽略它。感谢。
答案 0 :(得分:4)
这应该这样做:编辑:不要使用它。见下文
function convertMinutesToHourStr(minutes) {
return parseInt(minutes/60) + ":" + ([1e15] + Math.abs(minutes % 60)).slice(-2);
}
唯一的缺点是0分钟输出0:00。
修改强>
function convertMinutesToHourStr(minutes) {
return minutes ? (minutes<0 ? "-" : "") + parseInt(Math.abs(minutes/60)) + ":" + ([1e15] + Math.abs(minutes % 60)).slice(-2) : "";
}
输出""
输入为0.非数字输入会破坏它。
答案 1 :(得分:2)
这是我的尝试。我喜欢随着函数的进展而破坏我的变量。如果你向他们表明怜悯,你就会引发反叛。
$('#filternumbers').on('change', function () {
$(".numbers").hide();
$('#filternumbers option:selected').each(function() {
var number = $(this).val();
var classNames = '.' + number;
$(".numbers").filter(classNames).show();
});
});
答案 2 :(得分:-1)
使用date.js https://github.com/datejs/Datejs
(new Date()).clearTime()
.addMinutes(minutes)
.toString('H:mm');
或没有外部库
new Date(null).setMinutes(minutes);