如何仅在JavaScript中获取当前时间

hss*_*hss 118 javascript datetime

如何在JavaScript中获取当前时间并在时间戳中使用它?

我试过var x = Date()了:

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

但我只需要当前的时间,例如, 05:45

如何将其分配给变量?

Roy*_*mir 193

var d = new Date("2011-04-20T09:30:51.01");
d.getHours(); // => 9
d.getMinutes(); // =>  30
d.getSeconds(); // => 51
Run Code Online (Sandbox Code Playgroud)

要么

var d = new Date(); // for now
d.getHours(); // => 9
d.getMinutes(); // =>  30
d.getSeconds(); // => 51
Run Code Online (Sandbox Code Playgroud)

  • `var d = new Date("2011-04-20 09:30:51.01"); 警报(d.getHours());// => 9` 输出 `NaN` (2认同)

小智 98

简短而简单:

new Date().toLocaleTimeString(); // 11:18:48 AM
//---
new Date().toLocaleDateString(); // 11/16/2015
//---
new Date().toLocaleString(); // 11/16/2015, 11:18:48 PM
Run Code Online (Sandbox Code Playgroud)

4小时后(使用milisec:sec == 1000):

new Date(new Date().getTime() + 4*60*60*1000).toLocaleTimeString(); // 3:18:48 PM or 15:18:48
Run Code Online (Sandbox Code Playgroud)

2天前:

new Date(new Date().getTime() - 2*24*60*60*1000).toLocaleDateString() // 11/14/2015
Run Code Online (Sandbox Code Playgroud)

  • 加法和减法的计算很有帮助! (5认同)

Dre*_*TeK 70

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

我找不到能够完全满足我需要的解决方案.我想要干净而细小的代码,所以我想出了这个:

(在master.js中设置一次,并在需要时调用.)

纯粹的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;
}
Run Code Online (Sandbox Code Playgroud)
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />
Run Code Online (Sandbox Code Playgroud)

Try it on jsfiddle

  • 不知道为什么这不是更好的投资...干得好! (5认同)
  • @ gcoleman0828我参加聚会很晚。感谢您的投票:) (3认同)

Fer*_*mes 24

尝试

new Date().toLocaleTimeString().replace("/.*(\d{2}:\d{2}:\d{2}).*/", "$1");
Run Code Online (Sandbox Code Playgroud)

要么

new Date().toTimeString().split(" ")[0];
Run Code Online (Sandbox Code Playgroud)

  • 在第二种形式中,如果您仅使用 toString() 并将 0 更改为 4,您也将获得格式为 HH:MM:SS 的时间。 (2认同)

小智 18

您可以简单地使用这些方法。

console.log(new Date().toLocaleTimeString([], { hour: '2-digit', minute: "2-digit", hour12: false }));
console.log(new Date().toLocaleTimeString([], { hour: '2-digit', minute: "2-digit" }));
Run Code Online (Sandbox Code Playgroud)

  • 问题的干净答案之一 (2认同)

Sud*_*oti 9

你的意思是:

var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
Run Code Online (Sandbox Code Playgroud)


小智 7

尝试这个

new Date().toTimeString().slice(0, 8);
Run Code Online (Sandbox Code Playgroud)

或者

new Date().toTimeString().split(" ")[0];
Run Code Online (Sandbox Code Playgroud)

它应该有效。


小智 6

试试这个:

var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
Run Code Online (Sandbox Code Playgroud)


Ham*_*fri 6

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;
}
Run Code Online (Sandbox Code Playgroud)


Par*_*man 5

这是你如何做到的。

const date = new Date();
const time = date.toTimeString().split(' ')[0].split(':');
console.log(time[0] + ':' + time[1])
Run Code Online (Sandbox Code Playgroud)


小智 5

const date = Date().slice(16,21);
console.log(date);
Run Code Online (Sandbox Code Playgroud)