如何在JavaScript中获得当前时间并在时间选择器中使用它?

我尝试了var x = Date(),得到:

2012年5月15日星期二05:45:40 GMT-0500

但我只需要现在的时间,比如05:45

我怎么把它赋值给变量呢?


当前回答

你可以这样做。

const date = new date (); const time = date.toTimeString()。分割(' ')[0].split(“:”); Console.log (time[0] + ':' + time[1])

其他回答

使用javascript有效地获取和设置当前时间

我找不到一个完全符合我需要的解决方案。我想要简洁的代码,所以我想到了这个:

纯JAVASCRIPT

函数时间现在(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> <输入 id=“test1” 类型=“时间” 值=“10:40” />


更新

现在有足够的浏览器支持来简单地使用:toLocaleTimeString

对于html5类型时间,格式必须是hh:mm。

函数timeNow(i) { i.value = new Date()。toLocaleTimeString([],{小时:'2-digit',分钟:'2-digit'}); } <a onclick="timeNow(test1)" href="#">SET TIME</a> . <input id="test1" type="time" value="10:40" />

在jsfiddle上试试

这- - - - - -

var x = new Date(); 
var h = x.getHours(); 
var m = x.getMinutes(); 
var s = x.getSeconds(); 

so-

 x = date
h = hours
m = mins
s = seconds
getTime() {
      let today = new Date();
      let h = today.getHours();
      let m = today.getMinutes();
      let s = today.getSeconds();
      h = h < 10 ? "0" + h : h;
      m = m < 10 ? "0" + m : m;
      s = s < 10 ? "0" + s : s;
      let time = h + ":" + m + ":" + s;
      return time;
    },
var today = new Date();  //gets current date and time
var hour = today.getHours();         
var minute = today.getMinutes();
var second = today.getSeconds();

Date.toLocaleTimeString()选项

Date.toLocaleTimeString()函数可以接收一个选项参数来格式化输出

以下是一些可用的选项

new Date().toLocaleTimeString([], { timeStyle: "full" })   // 4:43:58 AM Pacific Standard Time
new Date().toLocaleTimeString([], { timeStyle: "long" })   // 4:43:58 AM PST
new Date().toLocaleTimeString([], { timeStyle: "medium" }) // 4:43:58 AM
new Date().toLocaleTimeString([], { timeStyle: "short" })  // 4:43 AM

或者你可以用这些值指定小时、分钟和秒的表示形式:

“数字”(例如,1) “2位数”(例如,01)

new Date().toLocaleTimeString([], { hour: '2-digit', minute: "2-digit" }) 
// 04:43 AM

或者使用hour12: true或false设置12小时时间

更多细节请看 Date.toLocaleTimeString()参数 Intl.DateTimeFormat()选项