ホームページ >バックエンド開発 >PHPチュートリアル >指定された日付から数日後の日付を実装する方法_PHP チュートリアル
ここ数日、多くの人が突然この質問をしました。つまり、VB の DateAdd 関数を PHP で実装する方法です (笑)。これは公正な質問です。
元々、この問題は Doufu が Huawei への就職に応募した際の試験問題でしたが、当時は C++ で実装されていました。このような大手企業がこのような小児科医を受験させるとは予想していませんでした:) その後、私は過去 2 日間、http://www.chinaspx.com のネチズンに行かなかったのですが、「幸運でした」。 , この関数をPHPで書き直しました。
この関数は非常に単純で、指定した時刻に 1 日を加算して、新しく生成された日付を取得するだけです。
最初にこの関数を見てみましょう。まず、関数 CheckRun($year){
if($year%4==0 && () について事前に話しておく必要があります。 $year%100!=0 | $year%400==0) )
return true;
else
return false;
}
次のプログラムでこの関数を使用します
function DateAdd($date){
$ Parts =explode(' ', $date);
$date = $parts[0];
$time = $parts[1];
$ymd =explode('-', $date);
$hms = 爆発(':', $ time);
$year = $ymd[0];
$month = $ymd[1];
$day = $ymd[2];
$hour = $hms[0];
$分 = $hms[ 1];
$秒 = $hms[2];
$day=$day+1; //くだらない話はやめて、まず日付に 1 を追加してください
if($month=='1' || $month== '3' || $month=='7' || $month=='10' || ='12')
if($day==32)
{
$day='1';
$month++;
}
if($month=='4' || $month=='6' | | $month==' 9' || $month=='11')
if($day==31)
{
$day='1';
}
if($month== '2')
if (CheckRun($year))
{
//うるう年の 2 月は 29 日あります
if($day==30)
{
$day=1;
$month++;
}
}
else
{
// うるう年ではありません
if($day==29)
{
$day=1;
$month++;
}
}
if($month==13)
{
$month=1;
$year++;
}
return $year . "-" . $month . "-" . $day;
}
echo DateAdd("1999-12-31 11 :11:11");
echo DateAdd ("2000-2-29 11:11:11");
日数の追加をテストしたい場合は、ループを追加するだけです。誰もが専門家だと思いますが、これは機能はとてもシンプルです:)
http://www.bkjia.com/PHPjc/316189.html