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

时间:2012-05-15 10:48:57

标签: javascript datetime

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

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

  

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

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

如何将此分配给变量?

20 个答案:

答案 0 :(得分:180)

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

答案 1 :(得分:78)

简短而简单:

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

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

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

2天前:

new Date(new Date().getTime() - 2*24*60*60*1000).toLocaleDateString() // 11/14/2015

答案 2 :(得分:60)

使用javascript

高效获取并设置当前时间

我无法找到完全符合我需要的解决方案。我想要干净而细小的代码,所以我想出了这个:

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

PURE 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;
}
&#13;
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />
&#13;
&#13;
&#13;


<强>更新

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

对于 html5 类型time,格式必须为hh:mm

&#13;
&#13;
function timeNow(i) {
  i.value = new Date().toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
}
&#13;
<a onclick="timeNow(test1)" href="#">SET TIME</a>
<input id="test1" type="time" value="10:40" />
&#13;
&#13;
&#13;

Try it on jsfiddle

答案 3 :(得分:20)

尝试

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

或者

new Date().toTimeString().split(" ")[0];

答案 4 :(得分:9)

你的意思是:

var d = new Date();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();

答案 5 :(得分:8)

您可以简单地使用此方法。

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

答案 6 :(得分:6)

试试这个:

var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();

答案 7 :(得分:4)

答案 8 :(得分:4)

const date = Date().slice(16,21);
console.log(date);

答案 9 :(得分:4)

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;
}

答案 10 :(得分:3)

这个 -

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

如此 -

 x = date
h = hours
m = mins
s = seconds

答案 11 :(得分:1)

分配给变量并显示它。

time = new Date();

var hh = time.getHours();
var mm = time.getMinutes();
var ss = time.getSeconds() 

document.getElementById("time").value = hh + ":" + mm + ":" + ss;

答案 12 :(得分:1)

在 ES6 中以您要求的格式 (hh:mm) 执行此操作的一种简单方法是:

const goodTime = `${new Date().getHours()}:${new Date().getMinutes()}`;

console.log(goodTime);

(显然,控制台日志不是解决方案的一部分)

答案 13 :(得分:0)

试试这个

new Date().toTimeString().slice(0, 8);

new Date().toTimeString().split(" ")[0];

它应该可以工作。

答案 14 :(得分:0)

简单的函数可将日期和时间分开,并具有与时间和日期HTML输入兼容的格式

function formatDate(date) {
  var d         = new Date(date),
      month = '' + (d.getMonth() + 1),
      day   = '' + d.getDate(),
      year  = d.getFullYear();

  if (month.length < 2) month = '0' + month;
  if (day.length < 2) day = '0' + day;

  return [year, month, day].join('-');
}

function formatTime(date) {
        var hours   = new Date().getHours() > 9 ? new Date().getHours() : '0' + new Date().getHours()
        var minutes = new Date().getMinutes() > 9 ? new Date().getMinutes() : '0' + new Date().getMinutes()

        return hours + ':' + minutes
}

答案 15 :(得分:0)

你可以这样做。

&#13;
&#13;
db.users.find({_id:/@gmail.com/})
&#13;
&#13;
&#13;

答案 16 :(得分:0)

这是最短的方式。

var now = new Date().toLocaleTimeString();
console.log(now)

这也是一种未提及的字符串操作方法。

var now = new Date()
console.log(now.toString().substr(16,8))

答案 17 :(得分:-1)

var today = new Date();  //gets current date and time
var hour = today.getHours();         
var minute = today.getMinutes();
var second = today.getSeconds();

答案 18 :(得分:-2)

这对我有用,但这取决于您打Date()时得到什么:

Date().slice(16,-12)

答案 19 :(得分:-2)

var hours = date.getHours();
        var minutes = date.getMinutes();
        var ampm = hours >= 12 ? 'pm' : 'am';
        hours = hours % 12;
        hours = hours ? hours : 12; // the hour '0' should be '12'
        minutes = minutes < 10 ? '0'+minutes : minutes;
        var strTime = hours + ':' + minutes + ' ' + ampm;
        console.log(strTime);
        $scope.time = strTime;

        date.setDate(date.getDate()+1);
        month = '' + (date.getMonth() + 1),
        day = '' + date.getDate(1),
        year = date.getFullYear();
        if (month.length < 2) month = '0' + month;
        if (day.length < 2) day = '0' + day;
        var tomorrow = [year, month, day].join('-');
        $scope.tomorrow = tomorrow;