用这个剧本
getFormattedTime = function (fourDigitTime){
var hours24 = parseInt(fourDigitTime.substring(0,2));
var hours = ((hours24 + 11) % 12) + 1;
var amPm = hours24 > 11 ? 'pm' : 'am';
var minutes = fourDigitTime.substring(2);
return hours + ':' + minutes + amPm;
};
我可以把4位数的时间改成正常的时钟时间(虽然0930有问题…)
还有这个
$("body").html($("body").html().replace(/1135/g,'11:35am'));
1135.第1135章在我的世界里
但是,在我的页面中,我有一个表中的时间列表。我需要转换它们,例如。
Class starts at 1700, please be there by 1630 and sign in by 1645.
应该翻译成
Class starts at 05:00pm, please be there by 04:30pm and sign in by 04:45pm.
3条答案
按热度按时间fhg3lkii1#
假设文本中显示的唯一数字是您可以使用的时间:
DEMO:http://jsfiddle.net/q6HC9/1
编辑:将时间 Package 在标签中将大大简化情况。使用一个公共类将所有军事时间 Package 在一个span中,然后使用
html()
方法myzjeezk2#
使用这个:
输出:
更新
在您的案例中:
更新2
如果你在
<td class="fourDigitTime">1500</td>
中有时间,那么使用这个:Live Demo
dffbzjpn3#
你可以在正则表达式中使用word boundaries来匹配4位数,然后使用
getFormattedTime
函数作为.replace
的替换函数:请注意@Doorknob和@Pointy的评论。要仅替换时间“数字”,您需要在语义上标记它们,例如使用html5
<time>
标签: