Maison >développement back-end >tutoriel php >Explication détaillée des méthodes courantes de php DateTime
Cet article organise certaines méthodes utilisées par les objets DateTime pour faciliter la recherche et la lecture par tout le monde. Vous pouvez vous y référer si nécessaire.
Préface
Devant l'objet instancié, cela signifie que la classe native est utilisée dans le espace de noms. Si Si vous n'utilisez pas d'espace de noms, vous pouvez supprimer les précédents
1 Afficher l'heure actuelle
$datetime = new \DateTime; print_r($datetime->format('Y-m-d H:i:s'));
2. Affichez l'heure donnée
$datetime = new \DateTime('2016-06-13'); print_r($datetime);
3. Formatez l'heure souhaitée en fonction de l'heure donnée
$datetime = \DateTime::createFromFormat('Ymd', '20160618'); print_r($datetime->format('Y-m-d'));
4. Sortie Unix horodatage (la méthode 1 renverra un nombre négatif si elle est antérieure à 1990, tandis que la méthode 2 renverra false)
//方法1(php5.2): $datetime = new \DateTime(); echo $datetime->format('U');exit; //方法2(php5.3)推荐 $datetime = new \DateTime(); echo $datetime->getTimestamp();exit;
5. Format à l'heure donnée en fonction de l'horodatage donné
$datetime = new \DateTime(); $datetime->setTimestamp(1465783744); echo $datetime->format('Y-m-d H:i:s');
6. Comparez deux dates et heures, d'année en année, de mois en mois...
$datetime1 = new \DateTime('2016-01-01 10:11:18'); $datetime2 = new \DateTime('2017-05-11 22:21:21'); $interval = $datetime1->diff($datetime2); print_r($interval->format('%Y'));//%表示使用格式化,R表示是大于这个日期(+),还是小于这个日期(-),a表示大于或小于多少天,时分秒正常使用y,m,d,h,i,s
7 Créez une heure d'une durée de plusieurs. il y a quelques jours
Constructeur DateIntervalle paramètre de fonction est une chaîne représentant l'accord d'intervalle de temps, cette fois La convention d'intervalle commence par la lettre P, suivi d'un entier, et enfin d'un identifiant de point qui qualifie l'entier précédent. Les identifiants de période valides sont les suivants : Y (année) M (mois) D (jour) W (semaine) H (heure) M (minute) S (seconde) L'accord d'intervalle peut avoir à la fois l'heure et la date, si du temps est nécessaire. Ajouter la lettre T entre la date et l'heure. Par exemple, la convention d'intervalle P2D signifie un intervalle de deux jours et la convention d'intervalle P2DT5H2M signifie un intervalle de deux jours, cinq heures et deux minutes.
$datetime = new \DateTime(); $interval = new \DateInterval('P2DT5H'); //或者使用createFromDateString方法 //$interval = \DateInterval::createFromDateString('1 month'); //修改DateTime实例 $datetime->add($interval); echo $datetime->format('Y-m-d H:i:s');
8. Créer une heure il y a quelques jours
$datetime = new \DateTime(); $interval = new \DateInterval('P2DT5H'); $datetime->sub($interval); echo $datetime->format('Y-m-d H:i:s'); //ps:有个modify方法,这个方法是减去30,并不是像前推1天,输出的还是12月 $datetime = new \DateTime('2014/12/31'); $datetime->modify( '-1 month' ); print_r($datetime);exit;
9. L'heure de l'objet DateTime est différente de la date, passez l'année, le mois, le jour
$datetime = new \DateTime(); $datetime->setDate(2015, 2, 28); echo $datetime->format('Y-m-d');exit;
10. Réinitialisez l'heure de l'objet DateTime actuel à une heure différente, transmettez-la Heures. , minutes, secondes (paramètres facultatifs)
$datetime = new \DateTime(); $datetime->setTime(20, 20, 24); echo $datetime->format('Y-m-d H:i:s');exit;
11. Changer le fuseau horaire avant de formater l'heure
$timezone = new \DateTimeZone('Asia/Calcutta'); $datetime = new \DateTime(); $datetime->setTimezone($timezone); print_r($datetime->format('Y-m-d H:i:s'));exit;
12. Retourner le fuseau horaire
$date = new \DateTime(null, new DateTimeZone('Asia/Shanghai')); $tz = $date->getTimezone(); echo $tz->getName();
13. Calculer la valeur de décalage de deux fuseaux horaires
$dateTimeZoneTaipei = new \DateTimeZone("Asia/Taipei"); $dateTimeZoneJapan = new \DateTimeZone("Asia/Tokyo"); $dateTimeTaipei = new \DateTime("now", $dateTimeZoneTaipei); $dateTimeJapan = new \DateTime("now", $dateTimeZoneJapan); $timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei); print_r($timeOffset);exit;
14. Intervalle de temps de retour, combien de temps
$interval = new \DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days');
15. sortie les jours précédant la date actuelle. Le
constructeur de la classe DatePeriod accepte trois paramètres et doit fournir une instance DateTime, représentant la date et l'heure de début de l'itération, et une instance DateInterval, représentant la date suivante. L'intervalle entre celle-ci et l'heure est un entier, indiquant le nombre total d'itérations. Le quatrième paramètre est facultatif et est utilisé pour spécifier explicitement la date et l'heure de fin du cycle. Au moment de l'itération, vous pouvez mettre la dernière partie du constructeur. Un paramètre est défini sur une constante : DatePeriod::EXCLUDE_START_DATE
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!