Maison programmation quotidienne Connaissance PHP Plusieurs méthodes courantes d'acquisition d'informations sur les intervalles de temps en PHP

Plusieurs méthodes courantes d'acquisition d'informations sur les intervalles de temps en PHP

Aug 16, 2021 am 09:39 AM
1

Parfois, lorsque nous développons un projet, nous rencontrerons le problème d'obtenir l'heure de début et l'heure de fin d'il y a quelques jours, quelques jours plus tard, aujourd'hui, cette semaine, etc., d'obtenir les mois précédents, d'obtenir le nombre de jours cette année, etc. Voici ce que j'ai résumé Plusieurs méthodes courantes liées au temps, j'espère qu'elles seront utiles à tout le monde :

1 Obtenez les mois précédents

fonction publique versSelfMonth($m){
. $aujourd'hui = input('param.today') ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$m.' mois',strtotime($aujourd'hui));
pour ($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i mois",$old_time);
$arr[]=date('Y-m' ,$t);
}
return $arr;
}

2 Obtenez la date des jours précédents

fonction publique toSelfDay($m ){
$today = input('param.today' ) ? input('param.today') : date("Y-m-d");
$arr = array();
$old_time = strtotime('-'.$ m.' jour',strtotime($aujourd'hui));
pour($i = 0;$i <= $m; ++$i){
$t = strtotime("+$i jour",$old_time );
$arr[]=date('Y-m- d',$t);
}
return $arr;
}

3 Calculez le nombre de jours dans les mois précédents

public. function getLastMonthDays($mois){
$arr = $this-> ;toSelfMonth($mois);
$y = date('Y',time());
$days = date('d',time() );
pour ($i=0;$i $days = $days + date('t', strtotime($arr[$i]."-01 "));
}
return $days;
}
4. Obtenez le nombre de jours dans un certain mois
public function getSelfMonthDays(){
/*$days = cal_days_in_month(CAL_GREGORIAN, 4, 2011);* /
$days = date('t', strtotime("2011-4- 1"));
/*$days = date("t");
echo "Le nombre de jours dans le mois en cours".$ jours."
";*/
return $days;
}

5. Obtenez les horodatages de début et de fin de l'année et du mois spécifiés

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

6. Obtenir l'intervalle de date

Pour obtenir l'intervalle de temps, vous devez d'abord convertir l'heure en horodatage. Les horodatages sont généralement mesurés en secondes. , on obtient donc les unités de mesure suivantes :

(1) 1 heure équivaut à 3600s

(2) 1 jour équivaut à 24*3600s, soit 86400 secondes

Selon ces deux conditions, la méthode suivante est obtenue

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 >= 1){
$ Year 'Nian' $ Day 'Heaven';
} else {
Return $ day. Déterminez si c'est une année bissextile



S'il y a 365 jours dans une année, c'est une année ordinaire, et s'il y a 366 jours dans une année, c'est une année bissextile.

1. Année bissextile ordinaire : L'année civile grégorienne est un multiple de 4, généralement une année bissextile. (Par exemple, 2004 est une année bissextile); 2. Année bissextile du siècle : l'année civile grégorienne est de cent, et elle doit être un multiple de 400 pour être une année bissextile (par exemple, 1900 n'est pas une année bissextile d'un siècle, mais 2000 est une année bissextile).

Selon cette condition, nous pouvons obtenir la méthode suivante pour savoir s'il s'agit d'une année ordinaire ou d'une année bissextile

fonction publique GetYearType($year){
if ($year%4==0&&($year%100 !=0 || $year% 400==0)){
            return 1;

    }else{

                return 2 ; combien de jours dans une année

Identique à l'introduction du 7 ci-dessus. L'année civile grégorienne est un multiple de 4, généralement une année bissextile. Les années du calendrier grégorien se comptent par centaines et doivent être un multiple de 400 pour être une année bissextile.

Selon cette condition, nous pouvons compléter la méthode pour obtenir le nombre de jours dans une année

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)