>일일 프로그램 >PHP 지식 >PHP의 몇 가지 일반적인 시간 간격 정보 수집 방법

PHP의 몇 가지 일반적인 시간 간격 정보 수집 방법

XuPing.Yang
XuPing.Yang원래의
2021-08-16 09:39:31521검색

때때로 프로젝트를 개발할 때 며칠 전, 며칠 후, 오늘, 이번 주 등의 시작 시간과 종료 시간을 구하고, 이전 달을 구하고, 프로젝트 수를 구하는 문제에 직면하게 됩니다. 다음은 제가 요약한 몇 가지 일반적인 시간 관련 방법입니다. 모든 사람에게 유용하길 바랍니다:

1 이전 달 가져오기

public 함수 toSelfMonth($m){
$today = input('param.today') ? input('param.today') : 날짜("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' 월',strtotime($today));
for ($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i 월",$old_time);
$arr[]=date('Y-m' ,$t);
}
return $arr;
}

2. 공개 함수에서 SelfDay($m ){ $today = input('param.today' ) ? input('param.today') : 날짜("Y-m-d");
$arr = array();

$old_time = strtotime('-'.$ m.' 일',strtotime($today));

for($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i 일",$old_time );
$arr[]=date('Y-m- d',$t);
}
return $arr;
}




3. 지난 달의 일수를 계산합니다

public. function getLastMonthDays($month){ $arr = $this-> ;toSelfMonth($month); $y = date('Y',time());

$days = date('d',time() );

for ($i=0;$i $days = $days + date('t', strtotime($arr[$i]."-01 "));
}
return $days;
}

4. 특정 달의 일수를 가져옵니다

public function getSelfMonthDays(){
/*$days = cal_days_in_month(CAL_GREGORIAN, 4, 2011);* / $days = date('t', strtotime("2011-4- 1")); /*$days = date("t");
echo "이번 달의 일수".$ days."
";*/
return $days;
}


5. 지정된 연도 및 월의 시작 및 종료 타임스탬프를 가져옵니다

public 함수 getSelfMonthStartEnd($y=0, $m=0){ $y = $y ? $y : 날짜('Y');
$m = $m ? $m : 날짜('m');

$d = 날짜('t', strtotime($y.'-'.$m));

return array("start"=> strtotime($y.'-'.$m),"end"=>mktime(23,59,59 ,$m,$d,$y));
}




6. 날짜 간격 가져오기

시간 간격을 얻으려면 먼저 시간을 타임스탬프로 변환해야 합니다. 일반적으로 타임스탬프는 초 단위로 측정됩니다. , 따라서 다음과 같은 측정 단위가 얻어집니다. (1) 1시간은 3600s

(2) 1일은 24*3600s, 즉 86400초

이 두 가지 조건에 따라 다음과 같은 방법이 얻어집니다

function GetDateLong($time1,$time2){

if($time2 >= $time1){

$long = $time2 - $time1;

}else{

        $long = -($time2 - $time1);

    }
    if($long > 0){
          $year_day = $this->GetYearDay($time1);
         $ year = Floor($long/($year_day*86400));
$day = Floor( ($ long)%($ Year_day*86400)/86400);
if ($ year & gt; = 1) {
$ year.'year '. $ day.'day';
} else {
,


7. 윤년인지 알아보세요



1년이 365일이면 평년이고, 1년이 366일이면 윤년입니다.

1. 보통 윤년: 그레고리력 연도는 4의 배수이며 일반적으로 윤년입니다. (예를 들어, 2004년은 윤년입니다.) 2. 세기 윤년: 그레고리오력의 연도는 100년이고, 400의 배수여야 윤년이 됩니다. (예를 들어, 1900년은 세기 윤년이 아닙니다. 단, 2000년은 100주년 윤년이다.)

이 조건에 따라 평년인지 윤년인지 알아내는 방법은 다음과 같습니다.

public function GetYearType($year){ if ($year%4==0&&($year%100 !=0 || $연도% 400==0)){
          1 반환;
    }else{

                    2 반환; . 1년에 몇 일인지 결정하세요

위의 7의 소개와 같습니다. 그레고리력 연도는 4의 배수이며 일반적으로 윤년입니다. 그레고리력의 연도는 백 단위로 계산되며 윤년이 되려면 400의 배수여야 합니다.

이 조건에 따라 1년의 일수를 구하는 메소드를 완성할 수 있습니다

public function GetYearDay($time){
$year = date("Y",$time);
$a1 = $ 연/100;
if($a1 == 0){
$b1 = $연/400;
$b1 = $연/400;
if($b1 > 0){
$long = 365;
} else{
$long = 366;
} }
}else{
          $b2 = $year/4;
                if($b2 == 0){
                   $long = 366;
            --
}
return $long;
}

위 내용은 PHP의 몇 가지 일반적인 시간 간격 정보 수집 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.