この記事では主にPHPで現在のミリ秒タイムスタンプを取得する方法を紹介しますので、お役に立てれば幸いです。
最近、スマートホームプロジェクトのバックエンドに取り組んでいます。同期を実現するために、ユーザーのスマートデバイスの構成情報をサーバーにアップロードする必要があります。そのため、最初は、時間の精度が比較的高いです。 PHP の time() 関数を直接使用してタイムスタンプを取得しましたが、クライアントが同時に動作する場合、取得される時刻は依然として競合する可能性があります。そのため、タイムスタンプの精度を高めることをお勧めします。ただし、PHP にはミリ秒のタイムスタンプを取得するための組み込み関数はありません。ただし、オプションのパラメーターを指定せずに呼び出すと、この関数は「msec sec」の形式の文字列を返します。ここで、 sec は Unix エポック (1970 年 1 月 1 日 0:00:00 GMT) 現在からの秒数、msec はマイクロ秒部分です。文字列の両方の部分が秒単位で返されます。
ケース:
//現在のミリ秒タイムスタンプを返します
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 中国語 Web サイトの他の関連記事を参照してください。