Heim >Backend-Entwicklung >PHP-Tutorial >Sieben sehr nützliche Carbon-Methoden in Laravel

Sieben sehr nützliche Carbon-Methoden in Laravel

黄舟
黄舟Original
2017-09-23 09:31:233621Durchsuche

Beim Schreiben von PHP-Anwendungen müssen Sie häufig Datums- und Uhrzeitangaben verarbeiten, die von der API-Erweiterung der PHP-DateTime-Klasse übernommen werden, was die Verarbeitung von Datums- und Uhrzeitangaben erleichtert Schwierig in Laravel anzuwenden. Die Carbon-Methode, die nur wenige Menschen kennen, Freunde in Not können sich darauf beziehen.

Vorwort

Jeder sollte wissen, dass wir Carbon oft verwenden, um Datums- und Uhrzeitangaben zu verarbeiten, oder? Aber wie viele Leute haben das vollständige Dokument gelesen, um zu verstehen, welche Methoden es beinhaltet? Neben den bekannten Methoden now() und format() verfügt Carbon über viele weitere nützliche Methoden.

Lassen Sie uns einen Blick darauf werfen.

1. isX: Richtig/Falsch

Es gibt viele Möglichkeiten zu bestimmen, ob das Kohlenstoffobjekt heute, Wochenende, Sprung ist Jahr usw. sind in offiziellen Dokumenten aufgeführt:


<?php
$dt->isWeekday();
$dt->isWeekend();
$dt->isYesterday();
$dt->isToday();
$dt->isTomorrow();
$dt->isFuture();
$dt->isPast();
$dt->isLeapYear();
$dt->isSameDay(Carbon::now());

2. istGeburtstag

Zusätzlich zur obigen Liste verfügt Carbon auch über eine Methode, um festzustellen, ob es sich bei einem Datum um den Geburtstag einer Person handelt. Zusätzlich zur separaten Überprüfung von Monat und Tag können Sie auch Folgendes tun:


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

3. StartOfX- und EndOfX-Liste

Drei einfache, aber sehr nützliche Methoden, ohne now() aufzurufen, dann die Stunden, Minuten und Sekunden zu ersetzen und dann zu addieren oder zu subtrahieren Anzahl der Tage:


$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 + Lokalisierung

Sie können Ich habe diese Methode namens diffForHumans() verwendet – sie gibt die Differenz zwischen zwei Datumsangaben auf für Menschen lesbare Weise zurück:


$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

Aber wussten Sie, dass sie auch lokalisiert werden kann? ? Ändern Sie einfach den Ort, z. B. Chinesisch:

6. Ändern Sie now() zu einem beliebigen Zeitpunkt


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


Carbon::setLocale(&#39;zh&#39;);
echo Carbon::now()->addYear()->diffForHumans(); // 一年前

7. Wöchentliche Konstanten
Ja Ersetzen Sie den Tag der Woche mit den folgenden Konstanten:


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

Kennen Sie alle oben genannten nützlichen Methoden? Sie können die Methoden, die Sie nützlich finden, in den Kommentaren auflisten. Zusammenfassung

Das obige ist der detaillierte Inhalt vonSieben sehr nützliche Carbon-Methoden in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn