Maison >développement back-end >tutoriel php >Sept méthodes Carbon très utiles dans Laravel

Sept méthodes Carbon très utiles dans Laravel

黄舟
黄舟original
2017-09-23 09:31:233659parcourir

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 :


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));
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
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


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


echo Carbon::now()->subDays(5)->diffForHumans(); // 5 days ago


7. Constantes hebdomadaires

Carbon::setLocale(&#39;zh&#39;);
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!

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