「Php/laravel/laravel5/日付」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→carbonを使う) |
|||
(同じ利用者による、間の2版が非表示) | |||
行25: | 行25: | ||
echo $dt->toTimeString(); // 10:10:16 | echo $dt->toTimeString(); // 10:10:16 | ||
echo $dt->toDateTimeString(); // 2015-12-19 10:10:16 | echo $dt->toDateTimeString(); // 2015-12-19 10:10:16 | ||
+ | |||
+ | ==追加/差分== | ||
+ | echo $dt->addYears(5); // 2017-01-31 00:00:00 | ||
+ | echo $dt->addYear(); // 2018-01-31 00:00:00 | ||
+ | echo $dt->subYear(); // 2017-01-31 00:00:00 | ||
+ | echo $dt->subYears(5); // 2012-01-31 00:00:00 | ||
+ | |||
+ | echo $dt->addMonths(60); // 2017-01-31 00:00:00 | ||
+ | echo $dt->addMonth(); // 2017-03-03 00:00:00 equivalent of $dt->month($dt->month + 1); so it wraps | ||
+ | echo $dt->subMonth(); // 2017-02-03 00:00:00 | ||
+ | echo $dt->subMonths(60); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addDays(29); // 2012-03-03 00:00:00 | ||
+ | echo $dt->addDay(); // 2012-03-04 00:00:00 | ||
+ | echo $dt->subDay(); // 2012-03-03 00:00:00 | ||
+ | echo $dt->subDays(29); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addWeekdays(4); // 2012-02-09 00:00:00 | ||
+ | echo $dt->addWeekday(); // 2012-02-10 00:00:00 | ||
+ | echo $dt->subWeekday(); // 2012-02-09 00:00:00 | ||
+ | echo $dt->subWeekdays(4); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addWeeks(3); // 2012-02-24 00:00:00 | ||
+ | echo $dt->addWeek(); // 2012-03-02 00:00:00 | ||
+ | echo $dt->subWeek(); // 2012-02-24 00:00:00 | ||
+ | echo $dt->subWeeks(3); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addHours(24); // 2012-02-04 00:00:00 | ||
+ | echo $dt->addHour(); // 2012-02-04 01:00:00 | ||
+ | echo $dt->subHour(); // 2012-02-04 00:00:00 | ||
+ | echo $dt->subHours(24); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addMinutes(61); // 2012-02-03 01:01:00 | ||
+ | echo $dt->addMinute(); // 2012-02-03 01:02:00 | ||
+ | echo $dt->subMinute(); // 2012-02-03 01:01:00 | ||
+ | echo $dt->subMinutes(61); // 2012-02-03 00:00:00 | ||
+ | |||
+ | echo $dt->addSeconds(61); // 2012-02-03 00:01:01 | ||
+ | echo $dt->addSecond(); // 2012-02-03 00:01:02 | ||
+ | echo $dt->subSecond(); // 2012-02-03 00:01:01 | ||
+ | echo $dt->subSeconds(61); // 2012-02-03 00:00:00 | ||
+ | |||
+ | ==日付比較== | ||
+ | $current = Carbon::now(); | ||
+ | $dt = Carbon::now(); | ||
+ | $dt = $dt->subHours(6); | ||
+ | echo $dt->diffInHours($current); // -6 | ||
+ | echo $current->diffInHours($dt); // 6 | ||
+ | $future = $current->addMonth(); | ||
+ | $past = $current->subMonths(2); | ||
+ | echo $current->diffInDays($future); // 31 | ||
+ | echo $current->diffInDays($past); // -62 | ||
参考:https://scotch.io/tutorials/easier-datetime-in-laravel-and-php-with-carbon | 参考:https://scotch.io/tutorials/easier-datetime-in-laravel-and-php-with-carbon |
2016年8月12日 (金) 00:52時点における最新版
carbonを使う
use Carbon\Carbon;
使い方
$current = Carbon::now(); // get today - 2015-12-19 00:00:00 $today = Carbon::today(); // get yesterday - 2015-12-18 00:00:00 $yesterday = Carbon::yesterday(); // get tomorrow - 2015-12-20 00:00:00 $tomorrow = Carbon::tomorrow(); Carbon::createFromDate($year, $month, $day, $tz); Carbon::createFromTime($hour, $minute, $second, $tz); Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);
$dt = Carbon::now(); $dt->year = 2015; $dt->month = 04; $dt->day = 21; $dt->hour = 22; $dt->minute = 32; $dt->second = 5;
echo $dt->toDateString(); // 2015-12-19 echo $dt->toTimeString(); // 10:10:16 echo $dt->toDateTimeString(); // 2015-12-19 10:10:16
追加/差分
echo $dt->addYears(5); // 2017-01-31 00:00:00 echo $dt->addYear(); // 2018-01-31 00:00:00 echo $dt->subYear(); // 2017-01-31 00:00:00 echo $dt->subYears(5); // 2012-01-31 00:00:00
echo $dt->addMonths(60); // 2017-01-31 00:00:00 echo $dt->addMonth(); // 2017-03-03 00:00:00 equivalent of $dt->month($dt->month + 1); so it wraps echo $dt->subMonth(); // 2017-02-03 00:00:00 echo $dt->subMonths(60); // 2012-02-03 00:00:00
echo $dt->addDays(29); // 2012-03-03 00:00:00 echo $dt->addDay(); // 2012-03-04 00:00:00 echo $dt->subDay(); // 2012-03-03 00:00:00 echo $dt->subDays(29); // 2012-02-03 00:00:00
echo $dt->addWeekdays(4); // 2012-02-09 00:00:00 echo $dt->addWeekday(); // 2012-02-10 00:00:00 echo $dt->subWeekday(); // 2012-02-09 00:00:00 echo $dt->subWeekdays(4); // 2012-02-03 00:00:00
echo $dt->addWeeks(3); // 2012-02-24 00:00:00 echo $dt->addWeek(); // 2012-03-02 00:00:00 echo $dt->subWeek(); // 2012-02-24 00:00:00 echo $dt->subWeeks(3); // 2012-02-03 00:00:00
echo $dt->addHours(24); // 2012-02-04 00:00:00 echo $dt->addHour(); // 2012-02-04 01:00:00 echo $dt->subHour(); // 2012-02-04 00:00:00 echo $dt->subHours(24); // 2012-02-03 00:00:00
echo $dt->addMinutes(61); // 2012-02-03 01:01:00 echo $dt->addMinute(); // 2012-02-03 01:02:00 echo $dt->subMinute(); // 2012-02-03 01:01:00 echo $dt->subMinutes(61); // 2012-02-03 00:00:00
echo $dt->addSeconds(61); // 2012-02-03 00:01:01 echo $dt->addSecond(); // 2012-02-03 00:01:02 echo $dt->subSecond(); // 2012-02-03 00:01:01 echo $dt->subSeconds(61); // 2012-02-03 00:00:00
日付比較
$current = Carbon::now(); $dt = Carbon::now(); $dt = $dt->subHours(6); echo $dt->diffInHours($current); // -6 echo $current->diffInHours($dt); // 6 $future = $current->addMonth(); $past = $current->subMonths(2); echo $current->diffInDays($future); // 31 echo $current->diffInDays($past); // -62
参考:https://scotch.io/tutorials/easier-datetime-in-laravel-and-php-with-carbon