ホームページ  >  記事  >  バックエンド開発  >  PHP時刻関数のカプセル化の実装コードについて

PHP時刻関数のカプセル化の実装コードについて

不言
不言オリジナル
2018-07-24 11:56:361888ブラウズ

この記事で共有した内容は、PHP の時間関数のカプセル化の実装コードに関するもので、非常に参考になる内容です。困っている友人のお役に立てれば幸いです。

1. 2 つの日付の間の日数

function dateDiff($time1, $time2, $absolute = false)
{
    $time1 = (($temp = strtotime($time1)) ? $temp : $time1);
    $time2 = (($temp = strtotime($time2)) ? $temp : $time2);
    $temp = (strtotime(date('Ymd', $time1)) - strtotime(date('Ymd', $time2))) / 86400;
    return $absolute ? abs($temp) : $temp;
}

PHP 独自の関数 date_diff には DateTime オブジェクトを渡す必要があり、面倒です。上記のメソッドは、2 つの時刻/タイムスタンプの間の日数を返します。考え方は、時刻の場合、時刻をタイムスタンプに変換し、その日の 0 時にフォーマットしてからタイムスタンプに戻し、減算して 86400 で割ります。 2 つのタイムスタンプ (最初の行と 2 行目) の間の日数 変換タイムスタンプ コードは削除できます。 2018-01-01 23:59:59 と 2018-01-02 00:00:00 には 1 日の違いがあります。 2018-01-01 00:00:00 と 2018-01-02 23:59:59 も 1 日違いです。

2. ミリ秒単位の現在時刻

function msec()
{
    return sprintf('%.0f', microtime(true) * 1000);
}

PHP にはミリ秒を直接返す関数がありません。ここでは、マイクロ秒を生成するためにマイクロ秒がフォーマットされています。

関連する推奨事項:

PHP での弱い型変換の実装

##PHP が表示のために画像をデータベースにアップロードする方法のコード

以上がPHP時刻関数のカプセル化の実装コードについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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