Javascript 如何使用简单JS将秒值格式化为时间字符串
我试图将给定的秒数转换为字符串(即120=2:00分钟)。我现在被我的代码卡住了,并且得到了错误的答案。我想使用我已经有的代码,所以请让我知道我是否仍然可以使用它,只是添加到它,或者如果我需要重新开始Javascript 如何使用简单JS将秒值格式化为时间字符串,javascript,Javascript,我试图将给定的秒数转换为字符串(即120=2:00分钟)。我现在被我的代码卡住了,并且得到了错误的答案。我想使用我已经有的代码,所以请让我知道我是否仍然可以使用它,只是添加到它,或者如果我需要重新开始 function prettyTime(num) { if (num < 60) { return console.log(num + "s"); } var t = num/60, m = Math.floor(t/60), s = t - m
function prettyTime(num) {
if (num < 60) {
return console.log(num + "s");
}
var t = num/60,
m = Math.floor(t/60),
s = t - m * 60;
if (num > 60) {
mins = t + m;
return console.log(mins + ":" + "00");
}
}
prettyTime(123);
函数prettyTime(num){
如果(数量<60){
返回console.log(num+“s”);
}
变量t=num/60,
m=数学楼层(t/60),
s=t-m*60;
如果(数量>60){
分钟=t+m;
返回console.log(分钟+”:“+”00”);
}
}
prettyTime(123);
试试这个:
function prettyTime(num) {
if (num < 60) {
return console.log(num + "s");
}
hr = Math.floor(num/3600);
t = num%3600;
min = Math.floor(t/60);
sec = t%60;
return console.log(hr + ":" + min + ":" + sec);
}
prettyTime(123);
函数prettyTime(num){
如果(数量<60){
返回console.log(num+“s”);
}
hr=数学楼层(num/3600);
t=num%3600;
最小值=数学楼层(t/60);
sec=t%60;
返回控制台日志(hr+“:“+min+”:“+sec);
}
prettyTime(123);
试试这个:
function prettyTime(num) {
var secs=num;
mins=Math.floor(secs/60);
secs=mins?secs%60:secs;
hrs=Math.floor(mins/60);
mins=hrs?mins%60:mins;
days=Math.floor(hrs/24);
hrs=days?hrs%24:hrs;
year=Math.floor(days/365);
days=year?days%365:days;
return console.log(''+num+' secs = '+year+' years, '+days+' days, '+hrs+' hours, '+mins+' minutes, '+secs+' seconds.');
}
prettyTime(123);
当你试图在几分钟内转换完它们后获得剩余的秒数时,比如:s=t-m*60代码>
javascript具有特殊的功能:
%
运算符称为模运算符;在c
中将a除以b
后,它给出余数c=a%b
。
因此,在你的情况下:
m=s/60
和
s=s%60
?:
称为三元运算符,如下所示:
条件?真实陈述:虚假陈述代码>
表示如果条件布尔表达式
满足,则计算真实部分
<代码>错误
否则
希望对你有帮助。干杯。有什么特别的原因可以让给定的时间总是以秒为单位吗?我是在重新发明轮子吗?我对js完全是个新手D@MattYes,给定的时间总是以秒为单位。@Vedantt
和m
变量的用途是什么?你能解释一下吗?为什么OP要尝试这个?他的代码有什么问题?你的代码是如何解决的?请解释问题和您的解决方案,不要只发布代码。@FelixKling编辑了我的答案。现在看看,可以了吗?是的,它稍微好一点,但它仍然不能解释OP代码的错误。OP为什么要尝试这个?他的代码有什么问题?你的代码是如何解决的?请解释问题和您的解决方案,不要只发布代码。*她的代码。这确实有效,我理解为什么,但是的,请下次解释。我只是想确保我完全理解它。谢谢你的回答。