ハマログ

株式会社イーツー・インフォの社員ブログ

Carbonを利用してPHPで日付操作する

PHPで日付系の操作をするときに標準関数のdateとかstrtotimeを使うんだけど、ちょっと面倒なのです。

そこでCarbon! Larabelにもインクルードされていてcomposerでお手軽導入できるCarbonです!
briannesbitt/Carbon · GitHub – A simple API extension for DateTime with PHP 5.3+

開発者のBrian Nesbittさんナイス!

たとえば、2つの時刻の差を求める場合、ネイティブな書き方だとこのようになります。

echo abs(strtotime('now') - strtotime('+1 day'));

一方、Carbonの場合は次のように直感的に書くことができます。

echo Carbon::now()->subDay(1)->diffInSeconds(); 

導入

composerで。

{
    "require": {
        "nesbot/Carbon": "*"
    }
}

How to Use

1. use

use Carbon\Carbon;

2. オブジェクト生成

$carbon = Carbon::now();

3. 使う

print $carbon->addDay(); // 1日増加
print $carbon->addDays(3); // 3日増加
print $carbon->subDays(3); // 3日減算
print $carbon->addYear(); // 1年増加

オブジェクト生成しなくても使える

Carbon::now()->addDay();

色々な使い方

昨日の3時0分0秒

Carbon::yesterday()->setTime(3, 0, 0);

先週の今日

Carbon::today()->subWeek();

先週の月曜日

Carbon::today()->subWeek()->startOfWeek();

先週の月曜日12時30分

Carbon::today()->subWeek()->startOfWeek()->setTime(12, 30, 0);

去年の4月の今

Carbon::now()->subYear()->month(10);

今と何年離れているか

echo Carbon::now()->subYears(50)->diffInYears(); 

土曜日判定

$carbon = Carbon::now();
if($carbon->dayOfWeek == Carbon::SATURDAY){
    // process
}

その他の便利な使い方は公式サイトでどうぞ。

かねこ

carbondatedatetimePHPphp5time日付処理

  kaneko tomo   2014年8月23日


関連記事

Laravel EloquentのソートでNULLを最後に持ってくる(MySQL)

Laravel5系+MySQL5のはなし。 Laravel+Eloquentのプ…

XAMPPのバージョン一覧

XAMPPを利用して開発するときに、レンタルサーバに設置されているPHPとかMy…

Laravel5.4(5.3?)のメール送信

Laravel5.0とか5.1とかあたりでは、クロージャを利用してメール送信のプ…


← 前の投稿

次の投稿 →