Sept méthodes Carbon très utiles dans Laravel

黄舟
Libérer: 2023-03-16 11:02:01
original
3599 Les gens l'ont consulté

Lors de l'écriture d'applications PHP, vous avez souvent besoin de traiter des dates et des heures. Carbon hérite de l'extension API de la classe PHP DateTime, ce qui facilite le traitement des dates et des heures. Cet article partage principalement avec vous sept très utiles mais très utiles. difficile d'utiliser Laravel. La méthode Carbon que peu de gens connaissent, les amis dans le besoin peuvent s'y référer.

Préface

Tout le monde devrait savoir que nous utilisons Carbon pour gérer les dates et les heures plusieurs fois, n'est-ce pas ? Mais combien de personnes ont lu le document dans son intégralité pour comprendre de quelles méthodes il dispose ? En plus des méthodes bien connues now() et format(), Carbon propose de nombreuses autres méthodes utiles.

Jetons un coup d'oeil.

1. isX : Vrai/Faux

Il existe de nombreuses façons de déterminer si l'objet Carbone est aujourd'hui, week-end, saut année, etc., les éléments suivants sont répertoriés dans les documents officiels :


<?php
$dt->isWeekday();
$dt->isWeekend();
$dt->isYesterday();
$dt->isToday();
$dt->isTomorrow();
$dt->isFuture();
$dt->isPast();
$dt->isLeapYear();
$dt->isSameDay(Carbon::now());
Copier après la connexion

2. 🎜>En plus de la liste ci-dessus, Carbon dispose également d'une méthode pour déterminer si une date est l'anniversaire de quelqu'un. En plus de vérifier le mois et le jour séparément, vous pouvez également faire ceci :


3. Liste StartOfX et EndOfX
$born = Carbon::createFromDate(1987, 4, 23);
$noCake = Carbon::createFromDate(2014, 9, 26);
$yesCake = Carbon::createFromDate(2014, 4, 23);
var_dump($born->isBirthday($noCake));  // bool(false)
var_dump($born->isBirthday($yesCake));
Copier après la connexion
< 4. Aujourd'hui, demain, hier

Trois méthodes simples mais très utiles, sans appeler now(), puis remplacer les heures, les minutes et les secondes, puis ajouter ou soustraire le nombre de jours :


$dt = Carbon::create(2012, 1, 31, 12, 0, 0);
echo $dt->startOfDay(); // 2012-01-31 00:00:00
echo $dt->endOfDay(); // 2012-01-31 23:59:59
echo $dt->startOfMonth(); // 2012-01-01 00:00:00
echo $dt->endOfMonth(); // 2012-01-31 23:59:59
echo $dt->startOfYear(); // 2012-01-01 00:00:00
echo $dt->endOfYear(); // 2012-12-31 23:59:59
echo $dt->startOfDecade(); // 2010-01-01 00:00:00
echo $dt->endOfDecade(); // 2019-12-31 23:59:59
echo $dt->startOfCentury(); // 2000-01-01 00:00:00
echo $dt->endOfCentury(); // 2099-12-31 23:59:59
echo $dt->startOfWeek(); // 2012-01-30 00:00:00
echo $dt->endOfWeek(); // 2012-02-05 23:59:59
Copier après la connexion
5. DiffForHumans + Localisation

Vous pouvez J'ai utilisé cette méthode appelée diffForHumans() – Elle renvoie la différence entre deux dates d'une manière lisible par l'homme :


Mais saviez-vous qu'elle peut aussi être localisée ? Changez simplement l'emplacement, par exemple en chinois :

$today = Carbon::today(); // assuming 2016-06-24
echo $today;        // 2016-06-24 00:00:00
$tomorrow = Carbon::tomorrow();
echo $tomorrow;       // 2016-06-25 00:00:00
$yesterday = Carbon::yesterday();
echo $yesterday;       // 2016-06-23 00:00:00
Copier après la connexion


6. Remplacez now() par l'heure de votre choix


echo Carbon::now()->subDays(5)->diffForHumans(); // 5 days ago
Copier après la connexion


7. Constantes hebdomadaires

Carbon::setLocale(&#39;zh&#39;);
echo Carbon::now()->addYear()->diffForHumans(); // 一年前
Copier après la connexion

Oui Remplacer le jour de la semaine avec les constantes suivantes :


Connaissez-vous toutes les méthodes utiles mentionnées ci-dessus ? Vous pouvez lister les méthodes que vous trouvez utiles dans les commentaires.

$knownDate = Carbon::create(2001, 5, 21, 12); // 创建测试日期
Carbon::setTestNow($knownDate);      // set the mock 
echo Carbon::now();         // 2001-05-21 12:00:00
Copier après la connexion

Résumé

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