2016-12-27 4 views
1

私は時間と分だけをセミコロン(:)で区切り、それらを区切らずに変数で表現する必要があるプロジェクトに取り組んでいますmyTime、 4桁の数字です。ここに私のコードは次のとおりです。JavaScriptで4桁の数字として時間と分を区切ります

​​
+2

'now.getHours()+ '' + now.getMinutes()そして、2桁の数字が必要な場合は、 'toLocaleString'などのようにフォーマットするほうが良いでしょう。 –

+0

簡単な解決策は、ライブラリmomentjsを使用することです。それで、あなたはモーメント()を書くことができます。format( 'HHmm');そして、あなたは適切に形作られた時間を得なければなりません。 –

答えて

3

は、これらの番号を取得するにはDateオブジェクトの.getHours().getMinutes()メソッドを使用します。以下に示すように('0000' + (hours * 100 + minutes)).slice(-4)と(ゼロパディングされた文字列として)4桁の数字の表現を取得するために、連結及びゼロパッド必要に応じて:

var now = new Date(); 
 
var hours = now.getHours(); 
 
var minutes = now.getMinutes(); 
 
var myTime = ('0000' + (hours * 100 + minutes)).slice(-4); 
 
//note that myTime is a zero-padded string of length 4 
 

 
console.log(now.toString(), hours, minutes, myTime);

+0

'hhmm'は数字ではなく*文字列*であるとは何の価値もないかもしれません。 OPが何を望んでいるかは不明です。 –

+0

@FelixKlingはもともとテキストに書かれていましたが、あなたの提案の後にサンプルコードにもメモを追加しました。 –

1

から数時間または数分を取得します日時は、関連する機能のmyDate.getHours()またはmyDate.getMinutes()

Editを使用:あなたはおそらく軍用時間ので、12時間の変換を追加することを望んでいない...

var mt = getHoursMinutesSeconds(new Date()); 
alert(mt); 

    function getHoursMinutesSeconds(date) { 
     var h = date.getHours();    
     h = ((h + 11) % 12 + 1); 
     var m = date.getMinutes(); 
     var myTime = addZero(h) + addZero(m); 
     return myTime; 
     } 


function addZero(i) { 
    if (i < 10) { 
     i = "0" + i; 
    } 
    return i; 
} 
あなたが実際の*番号*(これは不思議そうです)としてそれを望むのであれば、数値に変換する必要がありますが、
関連する問題