php にはミリ秒のタイムスタンプを取得する独自の関数はありませんが、microtime() 関数が用意されています。オプションのパラメーターなしで呼び出された場合、この関数は「msec sec」形式の文字列を返します。ここで、sec は秒の数です。 Unix エポック (グリニッジ標準時 1970 年 1 月 1 日 0:00:00) からの秒数。msec はマイクロ秒部分です。文字列の両方の部分が秒単位で返されます。
<?php echo microtime(); //输出结果是 //0.25139300 1138197510
結果は 2 つの部分に分かれており、前半はミリ秒 (ただし単位は秒)、後半は秒であることに注意してください。
さて、これに基づいて次のように修正を加えます:
<?php list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); 这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。 <?php //返回当前的毫秒时间戳 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); }
注: sprintf('%.0f', $num) は小数部のない浮動小数点数を出力します
問題はまだ終わっていません、私は変更しましたタイムスタンプ ミリ秒レベルに達した後、データベース データを再度更新すると、time() 関数で取得した第 2 レベルのタイムスタンプをデータベースに格納するために int 型を使用したことがわかります。格納範囲は十分なので、ミリ秒レベルに変更しました。はい、BIGINT 型に変更する必要があります。整数型バイト範囲(シンボル)範囲(非シンボル)の使用
tinyint1バイト(-128、127)(0,255)小整数値
mallint2バイト(-32 768、32 767)215)大きな整数値
INT または INTEGER 4 バイト (-2 147 483 648 , 2 147 483 647) (0, 4 294 967 295) 大きな整数値
BIGINT 8 バイト (-9 233 372 036 854 775 808, 9 223 372 036 854 775 807) (0, 18 446 744 073 709 551 615) 非常に大きな整数値
関連推奨事項:
php は現在のミリ秒タイムスタンプを取得するメソッドを実装しますphpは2つのタイムスタンプ間の時間差を計算します 2つの方法
以上がPHPで現在のタイムスタンプをミリ秒単位で取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。