nesbot/carbon

An API extension for DateTime that supports 281 different languages.

Installs: 424 211 595

Dependents: 4 538

Suggesters: 58

Security: 0

Stars: 16 419

Watchers: 227

Forks: 1 279

Open Issues: 14

3.2.4 2024-04-05 09:58 UTC

This package is auto-updated.

Last update: 2024-04-05 10:04:10 UTC


README

Latest Stable Version Total Downloads GitHub Actions codecov.io

An international PHP extension for DateTime. https://carbon.nesbot.com

<?php

use Carbon\Carbon;

printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver'));  //implicit __toString()
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();

$officialDate = Carbon::now()->toRfc2822String();

$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;

$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');

$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');

// Don't really want this to happen so mock now
Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));

// comparisons are always done in UTC
if (Carbon::now()->gte($internetWillBlowUpOn)) {
    die();
}

// Phew! Return to normal behaviour
Carbon::setTestNow();

if (Carbon::now()->isWeekend()) {
    echo 'Party!';
}
// Over 200 languages (and over 500 regional variants) supported:
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
echo Carbon::now()->subMinutes(2)->locale('zh_CN')->diffForHumans(); // '2分钟前'
echo Carbon::parse('2019-07-23 14:51')->isoFormat('LLLL'); // 'Tuesday, July 23, 2019 2:51 PM'
echo Carbon::parse('2019-07-23 14:51')->locale('fr_FR')->isoFormat('LLLL'); // 'mardi 23 juillet 2019 14:51'

// ... but also does 'from now', 'after' and 'before'
// rolling up to seconds, minutes, hours, days, months, years

$daysSinceEpoch = Carbon::createFromTimestamp(0)->diffInDays(); // something such as:
                                                                // 19817.6771
$daysUntilInternetBlowUp = $internetWillBlowUpOn->diffInDays(); // Negative value since it's in the future:
                                                                // -5037.4560

// Without parameter, difference is calculated from now, but doing $a->diff($b)
// it will count time from $a to $b.
Carbon::createFromTimestamp(0)->diffInDays($internetWillBlowUpOn); // 24855.1348

Installation

With Composer

$ composer require nesbot/carbon
{
    "require": {
        "nesbot/carbon": "^3"
    }
}
<?php
require 'vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

Without Composer

Why are you not using composer? Download the Carbon latest release and put the contents of the ZIP archive into a directory in your project. Then require the file autoload.php to get all classes and dependencies loaded on need.

<?php
require 'path-to-Carbon-directory/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

Documentation

https://carbon.nesbot.com/docs

⚠️ Documentation is being updated to reflect behavior on the version 3 See the migration section listing the main differences between Carbon 2 and Carbon 3

If you see a section referring to Carbon 2 behavior outside this section or have any doubt about other documentation part, do not hesitate to open an issue to raise it.

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Credits

Contributors

This project exists thanks to all the people who contribute.

68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f436172626f6e2f636f6e7472696275746f72732e7376673f77696474683d38393026627574746f6e3d66616c7365

Translators

Thanks to people helping us to translate Carbon in so many languages

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

68747470733a2f2f636172626f6e2e6e6573626f742e636f6d2f746964656c6966742d6272616e642e706e67 Онлайн казино CasinoHex Canada Probukmacher Casino-portugal.pt Ігрові автомати Slots City inkedin Онлайн казино України OnlineCasinosSpelen Онлайн Казино Украины Parimatch Non-GamStop Bets UK Best non Gamstop sites in the UK Real Money Pokies Non GamStop Bookies UK SSSTwitter Fortune Tiger GreenPromoCode.com Chudovo UK Casino Gap NZ Casino Deps NonStopCasino.org Migliori Siti Non AAMS UK NonGamStopCasinos SnapTik Proxidize Blastup Organic Social Boost BestKru Sunset City Mushrooms TikTokFame Hall Effect Game Controllers GlitteringGenerality Wooting Alternatives Wagerbit AzuraCast Triplebyte InsaDown - Instagram Downloader GitHub Sponsors Salesforce

[Become a sponsor via OpenCollective]

1396951?s=128&v=4 8226205?s=128&v=4

[Become a sponsor via GitHub]

Backers

Thank you to all our backers! 🙏

68747470733a2f2f6f70656e636f6c6c6563746976652e636f6d2f436172626f6e2f6261636b6572732e7376673f77696474683d3839302676657273696f6e3d323032332d30362d30382d30372d3132

[Become a backer]

Carbon for enterprise

Available as part of the Tidelift Subscription.

The maintainers of Carbon and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.