使用 javascript 或 jquery 自动填充当前时间
Using javascript or jquery to auto populate the current time
我正在尝试使用 javascript and/or jquery 在类型时间字段中自动填充时间;不是日期。它会自动填充。但是,我试图让它自动填充当前时间而不是指定时间。 (例如,“17:40:11”)
如何从 javascript 或 jquery 获取当前时间并将其自动填充到输入时间字段中?
下面粘贴了我的代码和我在使用 Javascript 时遇到的以下错误。
我试过将 jquery 与 new Date($.now());
一起使用,但我得到了类似的错误,但我的时间是一堆数字(例如 123435334)
感谢您的帮助。
HTML
<input type="time" value="" />
javascript
$(document).ready(function myTimer() {
var now = new Date(Date.now());
var f = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
$("input[type=time]").val(f);
})
错误
jquery.js:7373 :
The specified value '7:13:40' does not conform to the required format.
The format is 'HH:mm', 'HH:mm:ss' or 'HH:mm:ss.SSS' where HH is 00-23,
mm is 00-59, ss is 00-59, and SSS is 000-999.
缺少则补零...想法:
if(hours<10) hours = "0"+hours;
$(document).ready(function myTimer() {
var now = new Date(Date.now());
var f = leadZero(now.getHours()) + ":" + leadZero(now.getMinutes()) + ":" + leadZero(now.getSeconds());
$("input[type=time]").val(f);
})
function leadZero(_something) {
if(parseInt(_something)<10) return "0"+_something;
return _something;//else
}
您的问题是 getHours() 返回 12 小时格式。
修复它的几种方法。您可以检查小时是否小于 10,然后添加前导“0”。但是,我宁愿给你这个 link:
http://blog.stevenlevithan.com/archives/date-time-format
您可以在 javascript.
中了解有关格式化日期的更多信息
我正在尝试使用 javascript and/or jquery 在类型时间字段中自动填充时间;不是日期。它会自动填充。但是,我试图让它自动填充当前时间而不是指定时间。 (例如,“17:40:11”)
如何从 javascript 或 jquery 获取当前时间并将其自动填充到输入时间字段中?
下面粘贴了我的代码和我在使用 Javascript 时遇到的以下错误。
我试过将 jquery 与 new Date($.now());
一起使用,但我得到了类似的错误,但我的时间是一堆数字(例如 123435334)
感谢您的帮助。
HTML
<input type="time" value="" />
javascript
$(document).ready(function myTimer() {
var now = new Date(Date.now());
var f = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
$("input[type=time]").val(f);
})
错误
jquery.js:7373 :
The specified value '7:13:40' does not conform to the required format. The format is 'HH:mm', 'HH:mm:ss' or 'HH:mm:ss.SSS' where HH is 00-23, mm is 00-59, ss is 00-59, and SSS is 000-999.
缺少则补零...想法:
if(hours<10) hours = "0"+hours;
$(document).ready(function myTimer() {
var now = new Date(Date.now());
var f = leadZero(now.getHours()) + ":" + leadZero(now.getMinutes()) + ":" + leadZero(now.getSeconds());
$("input[type=time]").val(f);
})
function leadZero(_something) {
if(parseInt(_something)<10) return "0"+_something;
return _something;//else
}
您的问题是 getHours() 返回 12 小时格式。 修复它的几种方法。您可以检查小时是否小于 10,然后添加前导“0”。但是,我宁愿给你这个 link:
http://blog.stevenlevithan.com/archives/date-time-format
您可以在 javascript.
中了解有关格式化日期的更多信息