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

墨辰丷
Libérer: 2023-03-27 13:30:01
original
1787 Les gens l'ont consulté

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();
Copier après la connexion

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

相关推荐:

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal