web-dev-qa-db-ja.com

JavaScriptのみで現在時刻を取得する方法

JavaScriptで現在時刻を取得してタイムピッカーで使用する方法を教えてください。

私はvar x = Date()を試してみました:

2012年5月15日火曜日05:45:40 GMT-0500

しかし、私は現在の時間だけを必要とします、例えば05:45

これを変数に割り当てるにはどうすればいいですか。

110
hss
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
185
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

4時間後(ミリ秒を使用してください: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
83
snir

Javascriptを使って効率的に現在時刻を取得および設定する

私が必要としているものとまったく同じ解決策を見つけることができませんでした。私はこれを思いついたので、きれいで小さなコードが欲しかった:

(master.jsに一度設定し、必要に応じて起動します。)

ピュアジャバスクリプト

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" />

UPDATE

単純に使用するのに十分なブラウザサポートがあります。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" />

Try it on jsfiddle

61
DreamTeK

やってみる

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

または

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

どういう意味ですか

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

これを試して:

var date = new Date();
var hour = date.getHours();
var min = date.getMinutes();
6
StoicFnord
const date = Date().slice(16,21);
console.log(date);
5
Parmeet Singh
4
Ken Lin
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;
}
4
Hamfri

この -

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

そう-

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

変数に代入して表示します。

time = new Date();

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

document.getElementById("time").value = hh + ":" + mm + ":" + ss;
1
mhtmalpani
var today = new Date();  //gets current date and time
var hour = today.getHours();         
var minute = today.getMinutes();
var second = today.getSeconds();
0
Saurabh Agarwal

これはどのようにあなたがそれをすることができます。

const date = new Date();
const time = date.toTimeString().split(' ')[0].split(':');
console.log(time[0] + ':' + time[1])
0
Parvez Rahaman

これが最短の方法です。

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

ここでは言及されていない文字列操作による方法もあります。

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

日付と時刻を分離し、時刻と日付の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
}
0
AbdessamadEL