如何在添加时间值时始终恢复到最长24小时
How to always revert to a max 24hr period when adding time values
我正在开发一个网页,该网页计算各种数字,以得出表中的特定操作时间,每个时间戳都是根据几个变量预先计算的数量相加的,但涉及到大量的小时,这将使我的总输出超过24小时。我在SO上发现了一个脚本,它从军事时间恢复为AM/PM格式,但由于总和可能超过24位数,该脚本只在时间小于25小时时修改时间。如果我总共有39个小时,我会在晚上27:00结束,而它应该是凌晨3点。如何修改脚本,使其在24小时内循环,并因此给我一个准确的上午或下午?以下是修改总小时数的脚本的JSFiddle链接:http://jsfiddle.net/cse_tushar/xEuUR/4/--->输入一个大于24:59的数字,你就会明白我的意思。我有一个指向我正在处理的页面的链接,脚本非常复杂,所以我会将链接发布到实时页面,如果我收到请求(或者如果有人注意到这篇帖子),我会尝试发布相关的JS示例:http://dcalvitti.altervista.org/push.html
小时修订脚本代码:
<input type="text" class="textbox1"/>
<input type="button" id="b1" value="convert 12 hr"/>
JS-
$(document).ready(function () {
function am_pm_to_hours(time) {
var hours = Number(time.match(/^('d+)/)[1]);
var minutes = Number(time.match(/:('d+)/)[1]);
var AMPM = time.match(/'s(.*)$/)[1];
if (AMPM == "pm" && hours < 12) hours = hours + 12;
if (AMPM == "am" && hours == 12) hours = hours - 12;
var sHours = hours.toString();
var sMinutes = minutes.toString();
if (hours < 10) sHours = "0" + sHours;
if (minutes < 10) sMinutes = "0" + sMinutes;
return (sHours +':'+sMinutes);
}
function hours_am_pm(time) {
var hours = Number(time.match(/^('d+)/)[1]);
var min = Number(time.match(/:('d+)/)[1]);
if (min < 10) min = "0" + min;
if (hours < 12) {
return hours + ':' + min + ' AM';
} else {
hours=hours - 12;
hours=(hours < 10) ? '0'+hours:hours;
return hours+ ':' + min + ' PM';
}
}
$('#b1').click(function(){
var n = $('.textbox1').val();
var n1 =n.split('_');
var time = hours_am_pm(n1[0]+n1[1]).replace('::',':');;
$('.result').text(time);
});
$('#b2').click(function(){
var n = $('.textbox1').val();
var n1 =n.split('_');
var time = am_pm_to_hours(n1[0]+':'+n1[1]+' '+n1[2]).replace('::',':');
$('.result').text(time);
});
});
相关位为ID="b1",它将24:00格式转换为12AM或12PM格式。我去掉了"B2"部分,因为我不需要它。任何提示都有帮助。。
只需要一个小的更改。只需在以下行中使用"%24":
function am_pm_to_hours(time) {
var hours = Number(time.match(/^('d+)/)[1])%24;
function hours_am_pm(time) {
var hours = Number(time.match(/^('d+)/)[1])%24;
就是这样!:)
相关文章:
- 让谷歌数据图表有一个24小时x轴
- Jqgrid 24小时格式的日期列
- 24小时输入时间:mm格式跨浏览器
- 试图创建一个24小时计时器来重置自己
- 将时间格式更改为24小时格式
- 如何使用moment.js获取24小时内日期之间的时差
- 我如何在Rails中实现卖家可以在24小时内取消或接受的出价,或者交易被取消
- 如何将24小时的日期时间格式转换为12小时的格式
- 如何在添加时间值时始终恢复到最长24小时
- 在 javascript 中将 24 小时时间转换为 12 小时,运行秒数
- javascript/jquery 数字时钟脚本,24 小时格式,带有日期
- 如何在 Jquery 或 JavaScript 中验证 24 小时格式化的时间
- 时刻.js 24小时制,处理第24小时
- 使用 angularjs 在 24 小时后自动运行弹出窗口
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- 24小时格式的日期范围选取器
- 将时间字符串(例如上午 9:00)转换为 24 小时 (0900)
- 24小时时钟中的时间轴
- 如何将其从 12 小时制更改为 24 小时制
- jQuery 掩码插件中的时间验证 24 小时格式