2

これを1332251639632から1332251639にしたい

このコードを試してみましたが、文字列ではないため機能しません

var date = new Date();
var t = date.getTime();
var p = t.substring(10);

alert(p);

PHPのtime()で10桁の数字を返すのでカットしたい

4

6 に答える 6

2

このような?

var p = parseInt(t/1000);
于 2012-04-05T00:50:43.360 に答える
2

より良いアプローチは次のとおりであるという意見があります。

var dateObject = new Date(),
    time = dateObject.getTime();
Math.floor ( time / 1000 );

理由は次のとおりです。

  1. parseInt() ECMA 仕様では、文字列が特定の基数で変換されることを想定しています。舞台裏でインタープリターは文字列を操作しており、最後に整数を返します。関数がどのように動作することを意図したMDNの例。Chris Wesseling が指摘しているように、文字列と基数を使用する追加の作業のために遅くなります。ブラウザーの将来のバージョンで実装される予定の ES5 では、基数の使用が義務付けられます。その理由は次のとおりです。

    parseInt( "011" ); // 9 を返し、0 の開始文字列は 8 進数を示します

    parseInt( "011", 10 ); // 予想どおり 11 を返します

  2. getTime() MDNは数値 (1970 年 1 月 1 日 00:00:00 UTC からのミリ秒) を返します。文字列から数値への変換はありません。これは、「意味的に」丸め関数を使用する方が良いことを意味します。

  3. floor( x ) ECMA Specsは、数値を扱うことを目的としています。x より大きくない最大の Number 値を返します。使い方MDN
  4. ceil(x) ECMA 仕様はほぼ同じです - x より小さくない最小の Number 値を返します。使い方MDN

Linux y2k(38)の問題でさえ、数値は 64 ビットであり、Javascript の整数は 53 ビットのECMA 仕様 SO questionで提示されているため、違いはありません。

于 2012-04-05T17:22:10.553 に答える
1

Iliaの解決策として提案されているように丸めたり、次のような部分文字列を使用したりできます。

var date = new Date();
var t = date.getTime().toString();
var p = t.substring(0, 10);

alert(p);
于 2012-04-05T00:54:48.023 に答える
0

試す:

var t = "" + date.getTime();
var p = t.substring(0,10);
于 2012-04-05T00:54:31.683 に答える
0

これはどう?

var date = new Date();
var t = date.getTime();
var p = parseInt(t.toString().match(/\d{10}/));

alert(p);

数値を文字列に変換し、最初の 10 桁を照合してから、結果を数値に再変換します。

于 2012-04-05T01:00:02.410 に答える
0

の間に違いがあったかどうか興味があります

var p = parseInt(t/1000);

var p = Math.floor(t/1000);

これは私がしました:

 start = new Date().getTime(); for ( var i=0; i<1000000; i++) parseInt(start/1000); new Date().getTime() - start;

start = new Date().getTime(); for ( var i=0; i<1000000; i++) Math.floor(start/1000); new Date().getTime() - start;

Chromiumでは、ネットブックの 6.6parseIntに対して約 7.2 秒かかります。Math.floor

Firefox は、スクリプトに時間がかかりすぎると不満を漏らしていました。ほぼ同時に 200000 回の操作しか実行できませんでした。

したがって、これは実装に大きく依存していると思います。

于 2012-04-05T12:46:53.547 に答える