有没有办法使用 javascript 来增加时间
Is there a way to increment time using javascript?
所以我将时间存储为'01:30:00'。我有一个开始时间和日期时间下拉列表。我希望将下拉列表设置为开始时间 + 1 小时。有没有办法通过javascript或jquery添加时间?
这是我当前的代码:
$(".start_time").change(function(){
$(".end_time").val($(this).val());
});
试试这个:
- 查找开始时间的选定索引
- 将其提高 2 以找到您的结束时间指数(假设您有半小时的增量)
- 使用 mod 运算符
%
换行到索引 0 或 1(分别为 00:00 和 00:30)
$(".start_time").change(function(){
var sel =$(this).attr('selectedIndex');
var endIdx = (sel + 2) % 48; // 47 is 23:30, so 48 should go back to index 0
$(".end_time").attr('selectedIndex', endIdx);
});
在JSBin上尝试一下。
这里有两个单独的问题:第一个是从.start_time
输入中解析出时间,第二个是将其递增到一小时后。
第一个实际上是字符串操作练习。一旦你解析了字符串的各个部分,例如通过正则表达式,你可以将它们变成一个Date
实例并使用setHours
,或者你可以只是将组件作为数字进行操作,然后它们将它们重新组装成你想要的格式的字符串。
这方面的一个示例可能如下所示:
var TIME_PARSING_REGEX = /([0-9]{2}):([0-9]{2}):([0-9]{2})/;
function padToTwoDigits(number) {
return (number < 10 ? "0" : "") + number;
}
$(".start_time").change(function () {
var stringTime = $(this).val();
var regexResults = TIME_PARSING_REGEX.exec(stringTime);
var hours = parseInt(regexResults[1], 10);
var newHours = (hours + 1) % 24;
var newHoursString = padToTwoDigits(newHours);
var minutesString = regexResults[2];
var secondsString = regexResults[3];
var newTimeString = newHoursString + ":" + minutesString + ":" + secondsString;
$(".end_time").val(newTimeString);
});
基本示例...
var date = new Date();
var h = date.getHours() + 1;
var m = date.getMinutes();
var s = date.getSeconds();
alert('One hour from now: ' + h + ':' + m + ':' + s);
演示:http://jsfiddle.net/fBaDM/2/
解析日期/时间字符串后,可以在日期对象中使用.setHours
等方法(有关详细信息,请参阅 Mozilla 开发人员中心)。
我强烈推荐 DateJS 库来处理日期和时间。我相信这对你来说会非常方便。
protip:尽量避免用"jQuery标记"替换JavaScript;毕竟这都是JS:)。
相关文章:
- 如何每10.6秒从时间戳增加+1
- JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
- 引导时间选择器在增加或减少小时和分钟的同时获取 NaN
- 日期时间格式增加了一个小时
- 在时间间隔后增加数据库中的值
- 当使用日期时间选择器格式时,它每年增加5
- 增加在选择元素HTML中搜索的时间
- 需要在EXTJ的时间字段中显示07:00、15:00、23:00(增加8小时)
- 增加营业时间到coutdown计数器
- 如何增加“Chrome 推送通知”的可见性时间
- Firebase limitToLast() 是否会随着孩子的记录计数增加而增加更长的时间
- 比较前将时间增加一小时
- 当从客户端从ajax调用检索时,我在服务器上的日期时间增加了12.30小时
- 如何在javascript游戏中随着时间的推移增加产卵率
- 可以缓存JSON以增加性能/加载时间
- 按时间增加数字
- Ajax调用增加了网站加载时间
- JS搜索通过一个嵌套的JSON结构,深度增加随着时间的推移
- Javascript会增加时间
- 有没有办法使用 javascript 来增加时间