Maison  >  Article  >  développement back-end  >  Explication graphique détaillée de la date de la fonction horaire et des calculs de temps couramment utilisés en PHP

Explication graphique détaillée de la date de la fonction horaire et des calculs de temps couramment utilisés en PHP

墨辰丷
墨辰丷original
2018-05-22 15:42:121785parcourir

Cet article présente principalement les connaissances pertinentes sur la fonction heure date et les calculs de temps couramment utilisés en PHP, qui ont une très bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous.

Il a été utilisé dans des projets jusqu'à aujourd'hui, hier, cette semaine, ce mois-ci, ce trimestre, cette année, la semaine dernière, le mois dernier, le trimestre dernier, etc. , profitez-en, j'ai beaucoup de temps récemment, je prévois donc de résumer et d'étudier les points de connaissance temporelle pertinents de PHP

1 Lire la fonction de date manuelle PHP

<.>

Fonction heures communes :

checkdate() vérifie si une heure est correcte

date_default_timezone_get() obtient le fuseau horaire utilisé par l'heure actuelle script

date_default_timezone_set() définit le script Le fuseau horaire utilisé ini_set() peut également être satisfait, ou modifier le fichier de configuration

 date_sunrise() date_sunset() renvoie l'heure de lever et de coucher du soleil de la date et le lieu donnés

format date() Une date, il y aura des détails ci-dessous

 getdate() obtient les informations pertinentes sur la date et l'heure

 gettimeofday() obtient les informations pertinentes sur l'heure actuelle

 idate() modifie l'heure locale La date est formatée comme un entier, mais n'accepte qu'un seul caractère comme paramètre

Microtime() renvoie l'horodatage actuel et secondes

mktime() obtient l'horodatage d'une date

strtotime() analyse la date secondes du texte anglais en horodatage

2, explication détaillée des fonctions importantes

date() formate une Date

 

string date( string $format [, int $timestamp] )

 d Le jour du mois, c'est le nombre, il a des zéros non significatifs, tels que 01,02

D Le jour de la semaine, qui est l'abréviation du jour de la semaine en anglais, du lundi au dimanche

l (L minuscule) Le jour de la semaine, c'est le format anglais complet, du dimanche au samedi

N Utilisez des chiffres pour représenter les jours de la semaine, 1 pour lundi, 7 pour dimanche

S dimanche 6 est samedi

z Le nombre de jours dans l'année 0 à 365

W

m  Le mois au format numérique, avec 0 en tête

Le nombre de jours que doit avoir le mois

L Vérifiez si c'est une année bissextile L'année bissextile est 1 et le mois est 0

Y Y L'année représentée par 4 chiffres

y Année

 a  Valeur am ou pm minuscule

 A  Valeur am ou pm en majuscule

 g Format 12 heures, sans 0 en tête

 G Format 24 heures, sans 0

h Format 12 heures, avec 0

H >

S , vaut 1, n'est pas 0

 T  Le fuseau horaire où se trouve cette machine

  c  2017-05-08T 15:22:21+00:00 Heure au format

U Le nombre de secondes depuis 1970

Explication détaillée de la fonction idate()

La différence avec date est que cette fonction ne peut transmettre qu'un seul paramètre date() peut transmettre plusieurs paramètres.

B Heure au format heure

i Minutes

I Renvoie 1 si l'heure d'été est activée, sinon 0

L Renvoie 1 s'il s'agit d'un année bissextile, sinon renvoie 0

m  Nombre de mois

s Nombre de secondes

t Nombre de jours dans le mois U Nombre de secondes depuis 1970 w Nombre de jours dans la semaine Jour

  W   W                                                     🎜>

Exemples d'utilisation

3.Résumé des horaires communs

$times = [];
function makeTime(){
  //获取今日开始时间戳和结束时间戳
  $beginToday=mktime(0,0,0,date(&#39;m&#39;),date(&#39;d&#39;),date(&#39;Y&#39;));
  $endToday=mktime(0,0,0,date(&#39;m&#39;),date(&#39;d&#39;)+1,date(&#39;Y&#39;))-1;
  $times[&#39;today&#39;][&#39;begin&#39;] = $beginToday;
  $times[&#39;today&#39;][&#39;end&#39;] = $endToday;

  //获取昨日起始时间戳和结束时间戳
  $beginYesterday=mktime(0,0,0,date(&#39;m&#39;),date(&#39;d&#39;)-1,date(&#39;Y&#39;));
  $endYesterday=mktime(0,0,0,date(&#39;m&#39;),date(&#39;d&#39;),date(&#39;Y&#39;))-1;
  $times[&#39;yesterday&#39;][&#39;begin&#39;] = $beginYesterday;
  $times[&#39;yesterday&#39;][&#39;end&#39;] = $endYesterday;

  //获取上周起始时间戳和结束时间戳
  $beginLastweek=mktime(0,0,0,date(&#39;m&#39;),date(&#39;d&#39;)-date(&#39;w&#39;)+1-7,date(&#39;Y&#39;));
  $endLastweek=mktime(23,59,59,date(&#39;m&#39;),date(&#39;d&#39;)-date(&#39;w&#39;)+7-7,date(&#39;Y&#39;));
  $times[&#39;lastWeek&#39;][&#39;begin&#39;] = $beginLastweek;
  $times[&#39;lastWeek&#39;][&#39;end&#39;] = $endLastweek;

  //获取本月起始时间戳和结束时间戳
  $beginThismonth=mktime(0,0,0,date(&#39;m&#39;),1,date(&#39;Y&#39;));
  $endThismonth=mktime(23,59,59,date(&#39;m&#39;),date(&#39;t&#39;),date(&#39;Y&#39;));
  $times[&#39;thisMonth&#39;][&#39;begin&#39;] = $beginThismonth;
  $times[&#39;thisMonth&#39;][&#39;end&#39;] = $endThismonth;

  //获取本周开始时间和结束时间,此例中开始时间为周一
  $defaultDate = date(&#39;Y-m-d&#39;);
  $first = 1;
  $w = date(&#39;w&#39;,strtotime($defaultDate));
  $beginWeek = strtotime("$defaultDate-" . ($w?$w-$first:6) . &#39;days&#39;);
  $endWeek = $beginWeek + 6*24*3600-1;
  $times[&#39;thisWeek&#39;][&#39;begin&#39;] = $beginWeek;
  $times[&#39;thisWeek&#39;][&#39;end&#39;] = $endWeek;

  //获取上月的起始时间戳和结束时间戳
  $beginLastmonth=mktime(0,0,0,date(&#39;m&#39;)-1,1,date(&#39;Y&#39;));
  $endLastmonth=mktime(23,59,59,date(&#39;m&#39;)-1,date(&#39;t&#39;),date(&#39;Y&#39;));
  $times[&#39;LastMonth&#39;][&#39;begin&#39;] = $beginLastmonth;
  $times[&#39;LastMonth&#39;][&#39;end&#39;] = $endLastmonth;

  //获取今年的起始时间和结束时间
  $beginThisyear = mktime(0,0,0,1,1,date(&#39;Y&#39;));
  $endThisyear = mktime(23,59,59,12,31,date(&#39;Y&#39;));
  $times[&#39;thisYear&#39;][&#39;begin&#39;] = $beginThisyear;
  $times[&#39;thisYear&#39;][&#39;end&#39;] = $endThisyear;

  //获取上年的起始时间和结束时间
  $beginLastyear = mktime(0,0,0,1,1,date(&#39;Y&#39;)-1);
  $endLastyear = mktime(23,59,59,12,31,date(&#39;Y&#39;)-1);
  $times[&#39;lastYear&#39;][&#39;begin&#39;] = $beginLastyear;
  $times[&#39;lastYear&#39;][&#39;end&#39;] = $endLastyear;

  //获取本季度开始时间和结束时间
  $season = ceil((date(&#39;n&#39;))/3);//当月是第几季度
  $beginThisSeason = mktime(0, 0, 0,$season*3-3+1,1,date(&#39;Y&#39;));
  $endThisSeason = mktime(23,59,59,$season*3,date(&#39;t&#39;,mktime(0, 0 , 0,$season*3,1,date("Y"))),date(&#39;Y&#39;));
  $times[&#39;thisSeason&#39;][&#39;begin&#39;] = $beginThisSeason;
  $times[&#39;thisSeason&#39;][&#39;end&#39;] = $endThisSeason;

  //获取上季度的起始时间和结束时间
  $beginLastSeason = mktime(0, 0, 0,($season-1)*3-3+1,1,date(&#39;Y&#39;));
  $endLastSeason = mktime(23,59,59,($season-1)*3,date(&#39;t&#39;,mktime(0, 0 , 0,$season*3,1,date("Y"))),date(&#39;Y&#39;));
  $times[&#39;lastSeason&#39;][&#39;begin&#39;] = $beginLastSeason;
  $times[&#39;lastSeason&#39;][&#39;end&#39;] = $endLastSeason;

  return $times;
}
$times = makeTime();

目前是我之前用到的时间戳,后期还会积累汇总,避免重复造轮子。

相关推荐:

php date函数介绍与使用方法详解

关于PHP MySQL Update语句的相关内容

PHP验证码类ValidateCode

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:
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