現在のミリ秒タイムスタンプを取得する
php メソッド: [microtime()] 関数を使用して取得します。コードは [list($msec, $sec) =explode(' ', microtime()); です。 ]。
現在のミリ秒タイムスタンプを取得するための php メソッド:
は、microtime() 関数を提供します。オプションなしで呼び出された場合パラメータを指定すると、この関数は「msec sec」形式の文字列を返します。ここで、sec は Unix エポック (グリニッジ標準時 1970 年 1 月 1 日 0:00:00) からの秒数、msec はマイクロ秒部分です。文字列の両方の部分が秒単位で返されます。
microtime() 関数の詳細説明
<?php echo microtime(); //输出结果是 //0.25139300 1138197510
その結果は 2 つの部分に分かれていることに注意してください。つまり、前半はミリ秒です (ただし、単位は秒です)。 )、後半は秒です。
ここで、これに基づいて次のように変更を加えます:
<?php list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
以上です。$msectime は現在のミリ秒数です。これら 2 行は、簡単に使用できるように関数にカプセル化できます。
<?php //返回当前的毫秒时间戳 function msectime() { list($msec, $sec) = explode(' ', microtime()); $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); return $msectime; }
注: sprintf('%.0f', $num) は、小数部のない浮動小数点数を出力します。
問題はまだ終わっていません。タイムスタンプをミリ秒レベルに変更した後です。 , 再度データベースのデータを更新すると範囲外ですと表示されましたが、time()関数で取得した第2レベルのタイムスタンプをデータベースに格納するのにint型を使用していたことが分かりました。格納範囲は十分でしたミリ秒レベルに変更するとBIGINT型になりますので変更する必要があります。
整数型のバイト範囲 (シンボルあり) 範囲 (非シンボル) 使用
Tinyint 1 バイト (-128, 127) (0,255) 小さい整数値
SMALLINT 2 バイト( 65 535) through '''' out's ' s ' through ' through through '''' through'''' through through‐‐to‐to‐‐‐under‐ 3 バイトになると 88 608, 8 388 607) (0 , 16 777 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 training
以上がPHPで現在のミリ秒タイムスタンプを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。