ホームページ  >  記事  >  バックエンド開発  >  PHPで現在のミリ秒タイムスタンプを取得する方法

PHPで現在のミリ秒タイムスタンプを取得する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-09-29 13:46:2719783ブラウズ

現在のミリ秒タイムスタンプを取得する

php メソッド: [microtime()] 関数を使用して取得します。コードは [list($msec, $sec) =explode(' ', microtime()); です。 ]。

PHPで現在のミリ秒タイムスタンプを取得する方法

現在のミリ秒タイムスタンプを取得するための 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(&#39; &#39;, microtime());
$msectime = (float)sprintf(&#39;%.0f&#39;, (floatval($msec) + floatval($sec)) * 1000);

以上です。$msectime は現在のミリ秒数です。これら 2 行は、簡単に使用できるように関数にカプセル化できます。

<?php
//返回当前的毫秒时间戳
function msectime() {
  list($msec, $sec) = explode(&#39; &#39;, microtime());
  $msectime = (float)sprintf(&#39;%.0f&#39;, (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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。