【发布时间】:2014-01-06 19:28:02
【问题描述】:
我是 javascript 世界的新手,我还没有找到任何关于这个符号的信息。 我在那个主题中找到了它(见答案):Convert HH:MM:SS string to seconds only in javascript。
// minutes are worth 60 seconds. Hours are worth 60 minutes.
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
我还想使用该代码将“HH:MM:SS”字符串转换为秒。但是,这对我来说似乎不安全。如果用户插入“XX:03:SS”,则该值将是不正确的 NaN(至少对我而言)。所以我决定改进它:
function convertHHMMSSToSeconds(time) {
// initialize seconds
var seconds = 0;
//ensure time
if (!time) {
return seconds;
}
try {
var hmsTab = time.split(':'); // split it at the colons
// ensure that the hmsTab contains 3 values (hh,mm,ss)
if (!hmsTab || hmsTab.length !== 3) {
return seconds;
}
// initialize hh, mm and ss
var hh = hmsTab[0] > 0 && hmsTab[0] < 60? +hmsTab[0] : 0;
var mm = hmsTab[1] > 0 && hmsTab[1] < 60 ? +hmsTab[1] : 0;
var ss = hmsTab[2] > 0 && hmsTab[2] < 60 ? +hmsTab[2] : 0;
// return 0 if one variable is not valid
if(+hmsTab[0] !== hh ||+hmsTab[1] !== mm || +hmsTab[2] !== ss) {
return seconds;
}
// minutes are worth 60 seconds. Hours are worth 60 minutes.
seconds = (hh * 60 * 60) + (mm * 60) + ss;
}catch (error)
{
seconds = 0;
}
return seconds && seconds>0 ? seconds : 0;
}
所以我的问题仍然存在,(+var) 是什么意思。
问候,
【问题讨论】:
-
转换为数字的最短形式
标签: javascript