Heim tägliche Programmierung PHP-Kenntnisse Mehrere gängige Methoden zur Erfassung von Zeitintervallinformationen in PHP

Mehrere gängige Methoden zur Erfassung von Zeitintervallinformationen in PHP

Aug 16, 2021 am 09:39 AM
1

Manchmal stoßen wir bei der Entwicklung eines Projekts auf das Problem, die Start- und Endzeit von vor ein paar Tagen, ein paar Tagen später, heute, dieser Woche usw. zu ermitteln, die vorherigen Monate zu ermitteln und die Anzahl der Monate zu ermitteln Tage in diesem Jahr usw. Im Folgenden habe ich einige gängige zeitbezogene Methoden zusammengefasst, von denen ich hoffe, dass sie für alle nützlich sind:

1 Holen Sie sich die öffentlichen Funktionen der vorherigen Monate

toSelfMonth($m){
$today = input('param.today') ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' Monat',strtotime($today));
für ($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i Monat",$old_time);
$arr[]=date('Y-m' ,$t);
}
return $arr;
}

2. Holen Sie sich das Datum der letzten Tage

öffentliche Funktion toSelfDay($m ){
$today = input('param.today' ) ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$ m.'day',strtotime($today));
for($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i day",$old_time );
$arr[]=date('Y-m-d',$t);
}
return $arr;
}

3. Berechnen Sie die Anzahl der Tage in den vorherigen Monaten

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. Ermitteln Sie die Anzahl der Tage in einem bestimmten Monat
public function getSelfMonthDays(){
/*$days = cal_days_in_month(CAL_GREGORIAN, 4, 2011);* /
$days = date('t', strtotime("2011-4- 1"));
/*$days = date("t");
echo "Die Anzahl der Tage im aktuellen Monat".$ Tage."
";*/
return $days;
}

5. Rufen Sie die Start- und Endzeitstempel des angegebenen Jahres und Monats ab

public function getSelfMonthStartEnd($y=0, $m=0){
$y = $y ? $y : Datum('Y');
$m = $m ? $m : Datum('m');
$d = Datum('t', strtotime($y.'-'.$m));
return array("start"=> strtotime($y.'-'.$m),"end"=>mktime(23,59,59 ,$m,$d,$y));
}

6. Datumsintervall abrufen

Um das Zeitintervall zu erhalten, müssen Sie zunächst die Zeit in einen Zeitstempel umrechnen , sodass die folgenden Maßeinheiten erhalten werden:

(1) 1 Stunde ist 3600s

(2) 1 Tag ist 24*3600s, also 86400 Sekunden

Gemäß diesen beiden Bedingungen wird die folgende Methode erhalten

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);
if($year >= 1){
$ Year 'Nian'
} else {
Return $ day. Finden Sie heraus, ob es ein Schaltjahr ist.



Wenn ein Jahr 365 Tage hat, ist es ein gewöhnliches Jahr, und wenn es 366 Tage im Jahr ist, ist es ein Schaltjahr.

1. Gewöhnliches Schaltjahr: Das gregorianische Kalenderjahr ist ein Vielfaches von 4, normalerweise ein Schaltjahr. (Beispiel: 2004 ist ein Schaltjahr des 2. Jahrhunderts: Das gregorianische Kalenderjahr ist einhundert und muss ein Vielfaches von 400 sein, um ein Schaltjahr zu sein. (Beispiel: 1900 ist kein Jahrhundertschaltjahr.) aber 2000 ist ein Jahrhundertschaltjahr).

Gemäß dieser Bedingung können wir die folgende Methode erhalten, um zu ermitteln, ob es sich um ein gewöhnliches Jahr oder ein Schaltjahr handelt: öffentliche Funktion GetYearType($year){

if ($year%4==0&&($year%100 !=0 ||. $year% 400==0)){           return 1;
                return 2;
  }

8. Bestimmen Sie, wie viele Tage ein Jahr hat

Dasselbe wie bei der Einführung von 7 oben. Das gregorianische Kalenderjahr ist ein Vielfaches von 4, normalerweise ein Schaltjahr. Jahre im gregorianischen Kalender werden in Hundertern gezählt und müssen ein Vielfaches von 400 sein, um ein Schaltjahr zu sein.

Gemäß dieser Bedingung können wir die Methode vervollständigen, um die Anzahl der Tage in einem Jahr zu erhalten

öffentliche Funktion GetYearDay($time){
$year = date("Y",$time);
$a1 = $ Jahr/100;
if($a1 == 0){
$b1 = $Jahr/400;
$b1 = $Jahr/400;
if($b1 > 0){
$long = 365;
} else{
$long = 366;
} }
}else{
              $b2 = $year/4;
                if($b2 == 0){
             $long = 366;
                                                   
}
return $long;
}

Das obige ist der detaillierte Inhalt vonMehrere gängige Methoden zur Erfassung von Zeitintervallinformationen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)