如何在JavaScript中获取当前时间并将其用于时间选择器?
我尝试使用var x = Date()
,结果为:
Tue May 15 2012 05:45:40 GMT-0500
但我只需要当前时间,例如:05:45
如何将其赋值给一个变量?
如何在JavaScript中获取当前时间并将其用于时间选择器?
我尝试使用var x = Date()
,结果为:
Tue May 15 2012 05:45:40 GMT-0500
但我只需要当前时间,例如:05:45
如何将其赋值给一个变量?
var d = new Date("2011-04-20T09:30:51.01");
d.getHours(); // => 9
d.getMinutes(); // => 30
d.getSeconds(); // => 51
或者var d = new Date(); // for now
d.getHours(); // => 9
d.getMinutes(); // => 30
d.getSeconds(); // => 51
T
,现在是正确的通用 ISO 格式。顺便说一句,在 IE 中我只看到 undefined
。不管怎样,已经修复了。 - Royi Namir简短易懂:
new Date().toLocaleTimeString(); // 11:18:48 AM
//---
new Date().toLocaleDateString(); // 11/16/2015
//---
new Date().toLocaleString(); // 11/16/2015, 11:18:48 PM
四小时后(使用毫秒:sec == 1000):
new Date(new Date().getTime() + 4*60*60*1000).toLocaleTimeString(); // 3:18:48 PM or 15:18:48
两天前:
new Date(new Date().getTime() - 2*24*60*60*1000).toLocaleDateString() // 11/14/2015
我找不到完全符合我的需求的解决方案。我想要简洁而小巧的代码,所以我想出了这个方法:
纯JavaScript实现
function timeNow(i) {
var d = new Date(),
h = (d.getHours()<10?'0':'') + d.getHours(),
m = (d.getMinutes()<10?'0':'') + d.getMinutes();
i.value = h + ':' + m;
}
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />
更新
现在有足够的浏览器支持,可以直接使用toLocaleTimeString
。
对于html5类型的time
,格式必须为hh:mm
。
function timeNow(i) {
i.value = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
}
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />
new Date().toLocaleTimeString('fr', {hour: '2-digit', minute:'2-digit'});
- Tofandel尝试
new Date().toLocaleTimeString().replace("/.*(\d{2}:\d{2}:\d{2}).*/", "$1");
或者
new Date().toTimeString().split(" ")[0];
const date = Date().slice(16,21);
console.log(date);
你是指:
var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
function getCurrentTime(){
var date = new Date();
var hh = date.getHours();
var mm = date.getMinutes();
hh = hh < 10 ? '0'+hh : hh;
mm = mm < 10 ? '0'+mm : mm;
curr_time = hh+':'+mm;
return curr_time;
}
试试这个:
var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
试一下
new Date().toTimeString().slice(0, 8);
new Date().toTimeString().split(" ")[0];
应该可以正常工作。