ホームページ  >  記事  >  バックエンド開発  >  PHP 日時アプリケーション 13: 2 つの日付の間の週数を計算する

PHP 日時アプリケーション 13: 2 つの日付の間の週数を計算する

藏色散人
藏色散人オリジナル
2021-08-23 09:18:272664ブラウズ

今日も引き続きPHP日時シリーズの記事を紹介していきます、そして前回の記事「PHP日時応用その12:今月とその前の3ヶ月を取得する」現在の月と過去 3 か月を取得する方法を紹介しました。興味のある友達はそれを見つけることができます。

#→関連する推奨事項: PHP の日付と時刻のアプリケーションの概要 (継続的に更新されます~)>>

この記事の焦点は、あなたに教えることです。 2 つの日付間の週数を計算する方法。

まずローカルで実行して、実装方法が私と同じかどうかを確認できますか?


次は私が指定したメソッドです:

PHP コードは次のとおりです:

<?php
function week_between_two_dates($date1, $date2)
{
    $first = DateTime::createFromFormat(&#39;m/d/Y&#39;, $date1);
    $second = DateTime::createFromFormat(&#39;m/d/Y&#39;, $date2);
    if($date1 > $date2) return week_between_two_dates($date2, $date1);
    return floor($first->diff($second)->days/7);
}

$dt1 = &#39;1/1/2020&#39;;
$dt2 = &#39;12/29/2020&#39;;
echo $dt1.&#39; 和 &#39;. $dt2. &#39; 之间相差的周数是 &#39;. week_between_two_dates($dt1, $dt2)." 周 ";

ここでは「1/」を求めます。 1/2020" と 2 つの日付間の週数 "12/29/2020";

上記のコードを実行すると、出力される計算結果は次のようになります:

1/1/2020 和 12/29/2020 之间相差的周数是 51 周

これにより、次のことが可能になります。上記のコードを直接コピーしてローカルで実行し、テストを実行します。

注:

DateTime::createFromFormat -- date_create_from_format: 指定された形式に従って日付と時刻の文字列を解析します。

オブジェクト指向スタイル

public static DateTime::createFromFormat(string $format, string $time, DateTimeZone $timezone = ?): DateTime

手続き型スタイル

date_create_from_format(string $format, string $time, DateTimeZone $timezone = ?): DateTime

timeパラメータで指定された日付と時刻の文字列を、formatパラメータで指定された形式に従って新しいDateTimeオブジェクトに解析します。

パラメータ

format: 日付と時刻の文字列を解析するときに使用される形式文字列。ほとんどの形式は、date() 関数の形式と一致しています。

time: 日付と時刻を表すために使用される文字列。

timezone: DateTimeZone オブジェクト。日付と時刻の文字列を解析するときに使用する必要があるタイムゾーンを示します。

timezone パラメーターが無視され、日付と時刻を表す文字列 time にタイムゾーン情報が含まれていない場合、システムの現在のタイムゾーンが解析結果オブジェクトのタイムゾーンとして使用されます。

注:

時間パラメータが UNIX タイムスタンプ形式 (例: 946684800) である場合、またはタイム ゾーン情報が既に含まれている場合 (例: 2010-01-28T15:00:00) 02:00 )、タイムゾーンと現在のシステムのタイムゾーンは無視されます。

最後に、最新かつ最も包括的な「

PHP ビデオ チュートリアル 」をお勧めします~ぜひ学んでください!

以上がPHP 日時アプリケーション 13: 2 つの日付の間の週数を計算するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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