最近、愛のスカーフを研究していたとき、PHP で毎日の日付に基づいて計算する必要がありました。
(1) ある場合。はデータベースなので、とても簡単です。MSSQL であれば、日付の差を計算する関数 datediff() を使用して、結果を計算するだけです。必要に応じてそれを別の数値フィールドに保存してください! 以上です! (2) データベースがない場合は、PHP の時刻と日付関数を使用する必要があります。 : 1998 年 5 月 3 日から 1999 年 6 月 5 日までの日数を計算します:
コードをコピーします
コードは次のとおりです: $startdate=mktime("0","0"," 0","5","3","1998"); $enddate=mktime("0" ,"0","0","6","5","1999"); //取得したvalue は 1970-1-1 からパラメーター time までの合計秒数です。結果は整数になります。 $days=round(($enddate-$startdate)/3600/24 を編集する方が簡単です。 );
echo $days;
$days は、mktime() のパラメータがデフォルトの場合、本を借りた日からの日数を示します。計算される。
最後に、SQL 計算方法について説明します。
DateDiff 関数
説明: 2 つの日付間の時間間隔を返します。
構文:
コードをコピーします
コードは次のとおりです: DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear>)]
interval: 必須。 date1 と date2 の間の時間間隔を計算するために使用される文字列式。値については、「設定」セクションを参照してください。
日付1、日付2: 必須。日付式。計算に使用される 2 つの日付。
週の最初の日: オプション。週の最初の曜日を指定する定数。指定しない場合は、デフォルトで日曜日が設定されます。値については、「設定」セクションを参照してください。
年の最初の週: オプション。年の最初の週を指定する定数。指定しない場合、デフォルトで 1 月 1 日の週が設定されます。値については、「設定」セクションを参照してください。
interval パラメーターには次の値を指定できます:
yyyy (年)、q (四半期)、m (月)、y (年間の日数)、d (日)、w (週の日数) )、ww (週)、h (時)、n (分)、s (秒)
firstdayofweek パラメータには次の値を指定できます:
(以下は: 定数値の説明)
vbUseSystem 0 地域言語サポートを使用します ( NLS) API 設定。
vbSunday 1 日曜日 (デフォルト)
vb月曜日 2 月曜日
vb火曜日 3 火曜日
vb水曜日 4 水曜日
vb木曜日 5 木曜日
vb金曜日 6 金曜日
vb土曜日 7 土曜日
firstweekofyear パラメータには次の値を指定できます:
(以下は: 定数値 説明)
vbUseSystem 0 ロケール言語サポート (NLS) API 設定を使用します。
vbFirstJan1 1 1 月 1 日の週から始まります (デフォルト)。
vbFirstFourDays 2 は、新年の最初の週が少なくとも 4 日あることから始まります。
vbFirstFullWeek 3 は新年の最初の丸一週間から始まります。
説明: DateDiff 関数は、2 つの日付の間に存在する指定された時間間隔の数を決定するために使用されます。たとえば、DateDiff を使用して、2 つの日付の間の日数、または今日と年の最後の日の間の週数を計算できます。
date1 と date2 の間の日数を計算するには、「年間日数」(「y」) または「日数」(「d」) を使用できます。間隔が「曜日」(「w」) の場合、DateDiff は 2 つの日付の間の週数を返します。 date1 が月曜日の場合、DateDiff は date2 までの月曜日の数をカウントします。この結果には date2 が含まれますが、date1 は含まれません。間隔が「週」(「ww」) の場合、DateDiff 関数はカレンダー テーブル内の 2 つの日付の間の週数を返します。関数は、date1 と date2 の間の日曜日の数をカウントします。 DateDiff は、date2 が日曜日の場合は date2 を評価しますが、date1 が日曜日の場合でも date1 は評価しません。
date1 が date2 より後の場合、DateDiff 関数は負の数を返します。
firstdayofweek パラメーターは、「w」と「ww」の区切り記号を使用した計算に影響します。
date1 または date2 が日付リテラルの場合、指定された年は日付の固定部分になります。ただし、date1 または date2 を引用符 (" ") で囲み、年を省略した場合、コード内で date1 または date2 式が評価されるたびに現在の年が挿入されます。これにより、異なる年にわたって機能するプログラム コードを作成することが可能になります。
間隔が "年" ("yyyy") の場合、12 月 31 日と翌年の 1 月 1 日を比較します。実際にはその差は 1 日だけですが、DateDiff は 1 年の差を示す 1 を返します。
DatePart 関数
説明: 指定された日付の指定された部分を返します。
構文:
コードをコピー
コードは次のとおりです:
DatePart(interval, date[, firstdayofweek[, firstweekofyear>)]
DatePart: 関数の構文には次のパラメーターがあります:
interval: 必須。返される時間間隔を表す文字列式。値については、「設定」セクションを参照してください。
日付: 必須。評価する日付式。
週の最初の日: オプション。週の最初の曜日を指定する定数。指定しない場合は、デフォルトで日曜日が設定されます。値については、「設定」セクションを参照してください。
年の最初の週: オプション。年の最初の週を指定する定数。指定しない場合、デフォルトで 1 月 1 日の週が設定されます。値については、「設定」セクションを参照してください。
interval パラメーターには次の値を指定できます:
yyyy (年)、q (四半期)、m (月)、y (年間の日数)、d (日)、w (週の日数) )、ww (週)、h (時)、n (分)、s (秒)
firstdayofweek パラメータには次の値を指定できます:
(以下は: 定数値の説明)
vbUseSystem 0 地域言語サポートを使用します ( NLS) API 設定。
vbSunday 1 日曜日 (デフォルト)
vb月曜日 2 月曜日
vb火曜日 3 火曜日
vb水曜日 4 水曜日
vb木曜日 5 木曜日
vb金曜日 6 金曜日
vb土曜日 7 土曜日
firstweekofyear パラメータには次の値を指定できます:
(以下は: 定数値 説明) )
vbUseSystem 0 ロケール言語サポート (NLS) API 設定を使用します。
vbFirstJan1 1 1 月 1 日の週から始まります (デフォルト)。
vbFirstFourDays 2 は、新年の最初の週が少なくとも 4 日あることから始まります。
vbFirstFullWeek 3 は、新年の最初の丸一週間から始まります (年をまたいでではありません)。
説明: DatePart 関数は、日付を計算し、指定された時間間隔を返すために使用されます。たとえば、DatePart を使用して曜日や現在時刻を計算します。
firstdayofweek パラメーターは、「w」と「ww」の区切り記号を使用した計算に影響します。
date が日付リテラルの場合、指定された年は日付の固定部分になります。ただし、日付を引用符 (" ") で囲み、年を省略した場合は、コード内で日付式が評価されるたびに現在の年が挿入されます。このようにして、さまざまな年にわたって機能するプログラム コードを作成できます。
http://www.bkjia.com/PHPjc/323277.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/323277.html技術記事最近、愛のスカーフを研究していたときに、愛の日数を計算する必要がありました。これには、PHP が毎日の日付に基づいて計算する必要があります。 (1) ある場合。 ..