ホームページ > php教程 > php手册 > 日付特殊操作制御クラス

日付特殊操作制御クラス

WBOY
リリース: 2016-06-21 09:06:21
オリジナル
1068 人が閲覧しました

控制

//日期特殊操作控制类
//宇凡 8月15日
?>
 //获取"YYYY-mm-dd"格式的当前时间
 function NowDate()
 {
  $result = date("Y")."-".date("m")."-".date("d");
  return $result;
 }

 //获取"YYYY-mm-dd HH:ii:ss"格式的当前时间
 function NowDateTime()
 {
  $result = date("Y")."-".date("m")."-".date("d")." ".date("H").":".date("i").":".date("s");
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取年
 function GetYear($Date)
 {
  $pos = strpos($Date,"-");
  $result = "";
  for ($i=0;$i<$pos;$i++)
  {
   $result = $result.$Date[$i];
  }
  $month = GetMonth($Date);
  $day = GetDay($Date);
  if (!checkdate($month,$day,$result))
  {
   $result = false;
  }
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取月
 function GetMonth($Date)
 {
  $pos1 = strpos($Date,"-");
  $pos2 = strrpos($Date,"-");
  $result = "";
  for ($i=$pos1+1;$i<$pos2;$i++)
  {
   $result = $result.$Date[$i];
  }
  $year = GetYear($Date);
  $day = GetDay($Date);
  if (!checkdate($result,$day,$year))
  {
   $result = false;
  }
  return $result;
 }

 //从"YYYY-mm-dd"格式的时间中提取日
 function GetDay($Date)
 {
  $pos = strrpos($Date,"-");
  $result = "";
  for ($i=$pos+1;$i<10;$i++)
  {
   $result = $result.$Date[$i];
  }
  $year = GetYear($Date);
  $month = GetDay($Date);
  if (!checkdate($month,$result,$year))
  {
   $result = false;
  }
  return $result;
  return $result;
 }

//閏年をチェックし、ブール値を返す
function CheckLeap($year)
{
$result = (($year % 4 == 0) && (($year % 100 <> 0) || ( $ year % 400 == 0)));
return $result;
}

//現在の日付に日数を加算し、時刻を「YYYY-mm-dd」形式で返します
function AddDay($offset )
{
$year =date("Y");
$month=date("m");
$day=date("d");
for ($i=0;$i<$offset; $i++)
{
switch ($month) {
case 1:
{
if ($day==31) {
$day = 1;
$month = 2;
}
else {
$day=$ day + 1;
}
}
Break;
case 2:
{
if (CheckLeap($year)) {
if ($day == 29) {
$day = 1;
$month = 3;
}
else {
$ day=$day + 1;
}
}
else {
if ($day == 28) {
$day = 1;
$month = 3;
}
else {
$day =$day + 1;
}
} }
}
Break;
case 3:
{
if ($day==31) {
$day = 1;
$month = 4;
}
else {
$day=$day + 1 ;
}
BREAK;
IF ($ day == 30) {
$ day = 1
$ day = $ day + 1;
}
}
Break;
case 5:
{
if ($day==31) {
$day = 1;
$month = 6;
}
else {
$day=$日 + 1;
}
}
ブレーク;
ケース 6:
{
if ($day==30) {
$day = 1;
$month = 7;
}
else {
$day=$day + 1;
}
}
Break;
case 7:
{
if ($day==31) {
$day = 1;
$month = 8;
}
else {
$day=$day + 1;
}
}
Break;
case 8:
{
if ($day==31) {
$day = 1;
$month = 9;
}
else {
$day=$day + 1 ;
}
}
Break;
case 9:
{
if ($day==30) {
$day = 1;
$month = 10;
}
else {
$day=$day + 1;
}
}
Break;
case 10:
{
if ($day==31) {
$day = 1;
$month = 11;
}
else {
$day=$day + 1;
}
}
ブレーク ;
case 11:
{
if ($day==30) {
$day = 1;
$month = 12;
}
else {
$day=$day + 1;
}
}
ブレーク;
case 12:
{
if ($day==31) {
$day = 1;
$month = 1;
$year = $year + 1;
}
else {
$day =$day + 1 ;
}
   }
   }
  }
  $result=$year."-".$month."-".$day;
  return $result;
 }

 //在当前日期上减天数 返回"YYYY-mm-dd"格式的时间
 function AbateDay($offset)
 {
  $year=date("Y");
  $month=date("m");
  $day=date("d");
  for ($i=0;$i<$offset;$i++)
  {
   switch ($month) {
   case 1:
   {
    if ($day==1) {
     $day = 31;
     $month = 12;
     $year = $year - 1;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 2:
   {
    if ($day == 1) {
     $day = 31;
     $month = 1;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 3:
   {
    if ($day == 1) {
     if (CheckLeap($year)) {
      $day = 29;
     }
     else {
      $day = 28;
     }
     $month = 2;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 4:
   {
    if ($day == 1) {
     $day = 31;
     $month = 3;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 5:
   {
    if ($day == 1) {
     $day = 30;
     $month = 4;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 6:
   {
    if ($day == 1) {
     $day = 31;
     $month = 5;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 7:
   {
    if ($day == 1) {
     $day = 30;
     $month = 6;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 8:
   {
    if ($day == 1) {
     $day = 31;
     $month = 7;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 9:
   {
    if ($day == 1) {
     $day = 31;
     $month = 8;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 10:
   {
    if ($day == 1) {
     $day = 30;
     $month = 9;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 11:
   {
    if ($day == 1) {
     $day = 31;
     $month = 10;
    }
    else {
     $day=$day - 1;
    }
   }
   break;
   case 12:
   {
    if ($day == 1) {
     $day = 30;
     $month = 11;
    }
    else {
     $day=$day - 1;
    }
   }
   }
  }
  $result=$year."-".$month."-".$day;
  return $result;
 }

//今週の最初の日の時刻を「YYYY-mm-dd」形式で取得します
function FirstDayOfThisWeek()
{
$offset=date("w");
if ($offset==0) )
{
$offset=7;
}
$offset--;
$result = AbateDay($offset);
return $result;
}

//今週の最後の日を取得してreturn "YYYY-mm-dd" 時刻の形式
function LastDayOfThisWeek()
{
$offset=date("w");
if ($offset==0)
{
$offset=7;
}
$offset = 7 - $offset;
$result = AddDay($offset);
return $result;
}

//指定した月の日数を取得します
function DaysAmountOfThisMonth($month,$year)
{
switch ( $month) {
ケース 1:
$ result = 31;
break;
ケース 2:

ケース 3:
$result = 31;
ブレーク;
ケース 4:
$result = 30;
ケース 5:
$result = 31;
ブレーク;
ケース 6:
$result = 30;
ブレーク;
ケース 7:
$result = 31;
ブレーク;
ケース 8:
$result = 31;
ブレーク;
ケース9:
$result = 30;
ブレーク;
ケース 10:
$result = 31;
ブレーク;
ケース 11:
$result = 30;
ブレーク;
ケース 12:
$result = 31;
ブレーク;
}
$result を返します;
}



?>




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート