phpとMySqlの中で時間の差の方法の詳しい解を計算します

3883 ワード

phpで時間差を計算するのは面倒なことがある!しかし、日付時間関数の使い方をマスターすれば、これらは簡単になります.
最近では、自分の襟巻きを研究するときに恋愛日数を計算する必要があります.phpは毎日の日付に基づいて計算する必要があります.次に、このような日付計算を実現する方法についてお話しします.
(1)データベースがあれば簡単!MSSQLならトリガが使えます!日付差を専門に計算する関数datediff()でOK!MYSQLの場合は、2つの日付フィールドの差で計算した計算結果を別の数値フィールドに保存します.使用時に呼び出せばいい!
(2)データベースがなければphpの時間日付関数を完全に使わなければならない!
以下に主に説明する.
例:1998年5月3日から1999-6-5までの日数を計算する.
 
  
$startdate=mktime("0","0","0","5","3","1998"); $enddate=mktime("0","0","0","6","5","1999"); // 1970-1-1 .
$days=round(($enddate-$startdate)/3600/24) ;
echo $days;

そのうち$daysは得られた日数である.
mktime()のパラメータがデフォルトの場合、現在の日付が使用されていることを示します.これにより、借入日から現在までの日数を計算できます.
最後にSQLの計算方法を説明します.
DateDiff関数
説明:2つの日付の間隔を返します.
構文:
DateDiff(interval,date 1,date 2[,firstdayofweek[,firstweekofyear])interval:必須.文字列式は、date 1とdate 2の計算に使用される間隔を表します.数値については、「設定」セクションを参照してください.
date 1,date 2:必須.日付式.計算に使用される2つの日付.
firstdayofweek:オプション.曜日の初日の定数を指定します.指定しない場合は日曜日がデフォルトです.数値については、「設定」セクションを参照してください.
firstweekofyear:オプション.1年の最初の週の定数を指定します.指定しない場合は、デフォルトでは1月1日の週です.数値については、「設定」セクションを参照してください.
intervalパラメータには、次の値があります.
yyyy(年)q(四半期)m(月)y(年の日数)d(日)w(週の日数)ww(週)h(時間)n(分)s(秒)firstdayofweekパラメータには、次の値があります.
(以下、定数値の説明)
vbUseSystem 0は、地域言語サポート(NLS)API設定を使用します.vbSunday 1日曜日(デフォルト)vbMonday 2月曜日vbTuesday 3星期2 vbWednesday 4星期3 vbThursday 5木曜日vbFriday 6金曜日vbSaturday 7星期6 firstweekofyearパラメータには、次の値があります.
(以下、定数値の説明)
vbUseSystem 0は、地域言語サポート(NLS)API設定を使用します.vbFirstJan 1は、1月1日の曜日から始まります(デフォルト).vbFirstFourDays 2は、新年の少なくとも4日間の最初の週から始まります.vbFirstFullWeek 3は、新しい年の最初の完全な週から始まります.説明:DateDiff関数は、2つの日付の間に存在する指定された時間間隔の数を判断するために使用されます.
たとえば、DateDiffを使用して、2つの日付が異なる日数、またはその日からその年の最後の日までの曜日を計算できます.
date 1とdate 2の差の日数を計算するには、「1年の日数」(「y」)または「日」(「d」)を使用します.Intervalが「1週間の日数」(「w」)の場合、DateDiffは2日間の日数を返します.
date 1が月曜日の場合、DateDiffはdate 2の前の月曜日の数を計算します.この結果にはdate 2が含まれ、date 1は含まれません.
Intervalが「週」(ww)の場合、DateDiff関数はカレンダ・テーブルの2つの日付の間の曜日を返します.関数はdate 1とdate 2の間の日曜日の数を計算します.
date 2が日曜日の場合、DateDiffはdate 2を計算しますが、date 1が日曜日であってもdate 1は計算されません.
date 1がdate 2より遅い場合、DateDiff関数は負の数を返します.firstdayofweekパラメータは、「w」と「ww」の間隔記号を使用した計算に影響します.
date 1またはdate 2が日付文字である場合、指定した年度は日付の固定部分となります.ただし、date 1またはdate 2が引用符("")に含まれ、年が省略されている場合、コードにおいてdate 1またはdate 2式が計算されるたびに現在の年が挿入されます.これにより、異なる年に適用されるプログラムコードを記述できます.
Intervalが「年」(「yyyyy」)の場合、12月31日と来年の1月1日を比較し、実際には1日しか差がないが、DateDiffは1を返して1年差を示す.
DatePart関数
説明:指定した日付の指定部分を返します.構文:
DatePart(interval,date[,firstdayofweek[,firstweekofyear])DatePart:関数の構文には、interval:必須のパラメータがあります.文字列式は、戻る間隔を表します.数値については、「設定」を参照してください.セクション.date:必須.計算する日付式.firstdayofweek:オプション.曜日の初日の定数を指定します.指定しない場合は、デフォルトは日曜日です.数値については、「設定」を参照してください.セクション.firstweekofyear:オプション.年の最初の週の定数を指定します.指定しない場合は、デフォルトでは1月1日が存在する週です.数値については、「設定」セクションを参照してください.intervalパラメータには、yyyy(年)、q(四半期)、m(月)、y(年の日数)、d(日)、w(週の日数)、ww(週)、h(時間)、nの値があります.(分)、s(秒)
firstdayofweekパラメータには、次の値があります.
(以下、定数値の説明)
vbUseSystem 0は、地域言語サポート(NLS)API設定を使用します.vbSunday 1日曜日(デフォルト)vbMonday 2月曜日vbTuesday 3星期2 vbWednesday 4星期3 vbThursday 5木曜日vbFriday 6金曜日vbSaturday 7星期6 firstweekofyearパラメータには、次の値があります.
(以下、定数値の説明)
vbUseSystem 0は、地域言語サポート(NLS)API設定を使用します.vbFirstJan 1は、1月1日が存在する曜日から始まります(デフォルト).vbFirstFourDays 2は、新年の少なくとも4日間の最初の週から始まります.vbFirstFullWeek 3は、新しい年の最初の完全な週(年度をまたいでいない)から始まります.開始します.説明:DatePart関数は、日付を計算し、指定した間隔を返します.たとえば、DatePartを使用して曜日または現在の時刻を計算します.
ここでfirstdayofweekパラメータは、「w」と「ww」の間隔記号を使用する計算に影響します.
dateが日付文字の場合、指定した年度は日付の固定部分になります.ただし、dateが引用符(""")に含まれ、年が省略されている場合は、コードでdate式が計算されるたびに現在の年が挿入されます.これにより、異なる年に適用されるプログラムコードを作成できます.
以上が本稿のすべてですが、phpを上手に身につけるのに役立つことを願っています.
少し時間をかけて文章を友达に共有したり、コメントを残したりしてください.私たちは心からあなたの支持に感謝します.