Maison >développement back-end >tutoriel php >Sept méthodes Carbon très utiles dans Laravel
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());
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 :
$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));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:595. 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
6. Remplacez now() par l'heure de votre choix
echo Carbon::now()->subDays(5)->diffForHumans(); // 5 days ago
7. Constantes hebdomadaires
Carbon::setLocale('zh'); echo Carbon::now()->addYear()->diffForHumans(); // 一年前
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
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!