回答:
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
<10?'0':''
どういう意味ですか?
いいね、これらの答えは素晴らしいものではなく、トップの投稿も気に入る。ここで、y-go、クロスブラウザー、およびよりクリーンなint / string変換です。さらに、私のアドバイスはdate = Date(...)
、言語の大文字と小文字の区別に大きく依存しているようなコードで変数名 'date'を使用しないことです(動作しますが、異なるルールで異なる言語でサーバー/ブラウザーコードを操作している場合は危険です)。 。したがって、var内のjavascript Dateを想定しcurrent_date
ます。
mins = ('0'+current_date.getMinutes()).slice(-2);
この手法では(slice(-2))
、文字列値の先頭に「0」の右端2文字を付加しますgetMinutes()
。そう:
"0"+"12" -> "012".slice(-2) -> "12"
そして
"0"+"1" -> "01".slice(-2) -> "01"
もう1つの短い方法は、以下を使用して分を先行ゼロで埋めることです。
String(date.getMinutes()).padStart(2, "0");
意味:文字列の長さを2文字にします。charがない場合は0
、この位置に設定します。
str.padStart(targetLength、padString)のドキュメントを参照してください
できれば、問題をもっときちんと解決したいと思います。受け入れられた答えはとても良いです。しかし、私はこのようにしていたでしょう。
Date.prototype.getFullMinutes = function () {
if (this.getMinutes() < 10) {
return '0' + this.getMinutes();
}
return this.getMinutes();
};
これを使用したい場合。
console.log(date.getFullMinutes());
私は提案します:
var minutes = data.getMinutes();
minutes = minutes > 9 ? minutes : '0' + minutes;
1つの関数呼び出しが少なくなります。パフォーマンスについて考えることは常に良いことです。それも短いです。
別のオプション:
var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
substr
。w3schools.com/jsref/jsref_substr.asp
.length
はgetMinutes
文字列ではなく数値を返すため、未定義です。数値にはlength
プロパティがありません。あなたができる
var m = "" + date.getMinutes();
その文字列を作るために、そして、(あなたがチェックしたい長さをチェックしlength === 1
、0ではありません)。
$(".min").append( (date.getMinutes()<10?'0':'') + date.getMinutes() );
JSの初心者なので、これは非常に役に立ちました。これは、この問題を最も新しく見たPPLでも、「class = "min」というdivに表示する方法です。
それが誰かを助けることを願って
2桁の分または時間を取得する別のオプション。
var date = new Date("2012-01-18T16:03");
var minutes = date.toTimeString().slice(3, 5);
var hours = date.toTimeString().slice(0, 2);
2桁の分を使用する場合:
new Date().toLocaleFormat("%M")
プロジェクトでAngularJSを使用している場合は、$ filterを挿入して、次のように使用します。
$filter('date')(value, 'HH:mm')
テンプレートで出力をフォーマットすることもできます。フィルターの詳細については、こちらをご覧ください。
.getMinutes()
は整数であり、整数.length
からはアクセスできません。これを行うには(日付を扱う場合はお勧めしません)、数値を文字列に解析してから長さを確認します。例:date.getMinutes().toString().length