この hh:mm:ss を日付オブジェクトから取得するにはどうすればよいですか?
var d = new Date(); // for now
datetext = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
私は時々この結果を以下に得ます、
12:10:1
どちらであるべきか
12:10:01
これは時間と分にも起こると思います。
だから私はこの後です
01:01:01
この 1:1:1 ではない
この hh:mm:ss を日付オブジェクトから取得するにはどうすればよいですか?
var d = new Date(); // for now
datetext = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();
私は時々この結果を以下に得ます、
12:10:1
どちらであるべきか
12:10:01
これは時間と分にも起こると思います。
だから私はこの後です
01:01:01
この 1:1:1 ではない
解決策 - (tl;dr バージョン)
datetext = d.toTimeString().split(' ')[0]
説明:
toTimeString完全な時間を返します。それをスペースで分割して時間コンポーネントのみを取得し、次に使用する最初の値を取得します。:)
完全なフロー:
d = new Date();
// d is "Sun Oct 13 2013 20:32:01 GMT+0530 (India Standard Time)"
datetext = d.toTimeString();
// datestring is "20:32:01 GMT+0530 (India Standard Time)"
// Split with ' ' and we get: ["20:32:01", "GMT+0530", "(India", "Standard", "Time)"]
// Take the first value from array :)
datetext = datetext.split(' ')[0];
注:これには、外部ファイルやライブラリを含める必要がないため、実行に必要な時間が短縮されます。
このコード スニペットを使用できます。タイプセーフなコメントも追加したjsfiddleので、必ずフィドルをチェックしてください。
jQuery を使用している場合は、ready 関数内で呼び出します。それ以外の場合は、プレーンな JavaScript を使用してフィールドの値を更新できます。
$(document).ready(function(){
var d = new Date();
var formatted_time = time_format(d);
$('#yourTimeField').text(formatted_time);
});
これら 2 つのメソッドをスクリプトに追加します ( jsfiddleコード スニペットのように、単一のファイルに貼り付けることもできます)。
function time_format(d) {
hours = format_two_digits(d.getHours());
minutes = format_two_digits(d.getMinutes());
seconds = format_two_digits(d.getSeconds());
return hours + ":" + minutes + ":" + seconds;
}
function format_two_digits(n) {
return n < 10 ? '0' + n : n;
}
それだけです:)それが役立つことを願っています:)
http://momentjs.com/を使用して試すこともできます。日付の解析、検証、操作、および書式設定のための JavaScript 日付ライブラリ。