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
}
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).
fonction publique GetYearType($year){
if ($year%4==0&&($year%100 !=0 || $year% 400==0)){ return 1;
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!