ハマログ

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

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   kaneko tomo   2014年8月23日


関連記事

LaravelのModel Serializationをためしてみる

LaravelのEloquent Modelには、モデルクラスのオブジェクトをJ…

jEnvで複数のJava SDKを使い分ける

素性のよくわからぬJavaの案件を引き継ぐことになり、その案件はJava7を必要…

NetBeansとMavenでJavaEE7の環境構築の巻

こんにちは、かねこです。 はじめに JavaEE7の環境構築してみます。 おりこ…


← 前の投稿

次の投稿 →