我有一个以军事时间表示的时间范围,例如:
10-14
我需要让它看起来像这样:
10:00 am - 2:00 pm
我想出了类似的东西,但我认为它有点过于复杂。可以进一步简化吗?
var hrFr = "10",
hrTo = "14";
var t = (hrFr > 12 ? hrFr - 12 : hrFr) + ':00';
t += (hrFr >= 12 ? ' pm' : ' am') + ' - '
t += (hrTo == 24 ? ' midnignt' : (hrTo > 12 ? hrTo - 12 : hrTo) + ':00' + (hrTo >= 12 ? ' pm' : ' am'));
alert(t);

答案 0 :(得分:1)
假设它们总是整数,可能需要打扮一下几分钟
function adjustTime(hrTo)
{
return ((hrTo == 24 || hrTo == 0) ? ' midnight' : (hrTo > 12 ? hrTo - 12 : hrTo) + ':00' + (hrTo >= 12 ? ' pm' : ' am'));
}
我更喜欢这个,因为如果规格发生变化,你不必重新分析往返,只需要函数
答案 1 :(得分:0)
你不应该重复转换:
function convHour( hr ) {
return (hr == 24 ? 'midnight' : (hr > 12 ? hr - 12 : hr) + ':00' + (hr >= 12 ? ' pm' : ' am')
}
var t = convHour( hrFr ) + ' - ' + convHour( hrto );