web-dev-qa-db-ja.com

Jqueryで$ .now()をフォーマットする方法

$.now()は、ミリ秒単位の時間を示します。 hh:mm:ssのようなものを表示する必要があります

Jqueryでそれを行うにはどうすればよいですか?

13
function formatTimeOfDay(millisSinceEpoch) {
  var secondsSinceEpoch = (millisSinceEpoch / 1000) | 0;
  var secondsInDay = ((secondsSinceEpoch % 86400) + 86400) % 86400;
  var seconds = secondsInDay % 60;
  var minutes = ((secondsInDay / 60) | 0) % 60;
  var hours = (secondsInDay / 3600) | 0;
  return hours + (minutes < 10 ? ":0" : ":")
      + minutes + (seconds < 10 ? ":0" : ":")
      + seconds;
}
24
Mike Samuel

この目的には、JavaScriptのDateオブジェクトを使用することをお勧めします。

    var d = new Date();
    var time = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();

編集:私はちょうど以下の方法に出くわしました、それは言及されたマイク・サミュエルのようなフォーマットの問題をカバーし、よりクリーンです:

    var time = d.toLocaleTimeString();
38
vinod

JSFiddleの例はこちら

http://jsfiddle.net/NHhMv/

Jqueryは今やほんの少しです

$ .now()メソッドは、式によって返される数値の省略形です

(new Date).getTime().

jqueryから

http://api.jquery.com/jQuery.now/

このリンクをたどってください

JavaScriptでの日付のフォーマットに関するドキュメントはどこにありますか?

4
kobe
new Date().toString().split(' ')[4]

または

new Date().toString().match(/\d{2}:\d{2}:\d{2}/)[0]

toStringメソッドは基本的に、ほとんどの実装でのtoLocaleStringのエイリアスです。これは、getTimegetMillisecondsを使用する場合は問題ない)またはtoUTCStringを使用する場合、ミリ秒を使用してUTCを想定するのではなく、ユーザーのタイムゾーンで時刻を返します。

4

日付形式のjQueryプラグインをお勧めします。 これ または これ のように(私は前者を使用しています)

2
Bozho

私はこれにかなり遅れていますが、私は大衆のためにこの小さなスニペットを捨てるだけだと思いました。これは、ローカライズされた迅速なタイムスタンプを取得するためだけに使用するものです。それはかなりきれいで便利です。

function getStamp() {
    var d = new Date();

    var mm = d.getMilliseconds(), hh = d.getHours(),
        MM = d.getMinutes(), ss = d.getSeconds();

    return (hh < 10 ? "0" : "") + hh + (MM < 10 ? ":0" : ":") + MM + (ss < 10 ? ":0" : ":") + ss + ":" + mm;
};
1
Dylan Hayes

jQueryには日付のフォーマットがありません。 JavaScript Dateオブジェクトを使用して独自にロールすることも、それを行うライブラリを使用することもできます。 DateJS はそのようなライブラリの1つであり、フォーマット、解析、および操作機能の豊富なセットを提供します。しかし、それは何年も維持されていません。 momentjsは活発に開発中です。

1
T.J. Crowder