a r b o n : : n o w ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 0 0 3 : 3 2 : 0 9 / / 明日 $ n o w - > a d d D a y ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 1 0 3 : 3 2 : 0 9 / / 月末 $ n o w - > e n d O f M o n t h ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 8 2 3 : 5 9 : 5 9
C a r b o n : : n o w ( ) ; $ t w o _ h o u r s _ l a t e r = $ n o w - > m o d i f y ( ' + 2 h o u r s ' ) ; このとき、 $ n o w も $ t w o _ h o u r s _ l a t e r も2時間後をさしている あとで、 $ n o w を使うとき、 もはやそれは now じゃない
その上で時間操作 $ n o w = C a r b o n : : n o w ( ) ; $ t w o _ h o u r s _ l a t e r = $ n o w - > c o p y ( ) - > m o d i f y ( ' + 2 h o u r s ' ) ; もしくは $ n o w = C a r b o n : : n o w ( ) ; $ t w o _ h o u r s _ l a t e r = c l o n e $ n o w ; $ t w o _ h o u r s _ l a t e r - > m o d i f y ( ' + 2 h o u r s ' ) ; どちらもバグが入り込みやすそうな記述
h r o n o s : : n o w ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 0 0 7 : 0 9 : 0 6 / / 明日 $ t o m o r r o w = $ n o w - > a d d D a y ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 0 0 7 : 0 9 : 0 6 / / $ t o m o r r o w : 2 0 1 7 - 0 2 - 2 1 0 7 : 0 9 : 0 6 / / 月末 $ e n d _ o f _ m o n t h = $ n o w - > e n d O f M o n t h ( ) ; / / $ n o w : 2 0 1 7 - 0 2 - 2 0 0 7 : 0 9 : 0 6 / / $ e n d _ o f _ m o n t h : 2 0 1 7 - 0 2 - 2 8 2 3 : 5 9 : 5 9 C hr onos において、 $ n o w はイミュー タブル( 不変)
"p hp": “>=5.3.0" "sy mfony/tr ans lat ion": "~2.6 || ~3.0" "p hp": ">=5.5.9" O wner br iannes bitt cakep hp S tars 5209 295 D ownloads 21.59M 513K D ependents 980 7
C ar bon v1.0.0 公開 (この時点での、PHP のメジャー バー ジョンは 5 . 4 ) 2 0 1 2 年0 9 月1 2 日 C ar bon のリポジトリでイミュー タブルに出来ないか という issu e が作られる 2 0 1 3 年0 4 月1 9 日 L ar av el のリポジトリで E loqu ent 内で D at e T ime の代 わりに C ar bon を使っては? という提案 issu e が作られる 2 0 1 3 年0 4 月2 0 日 L ar av el に C ar bon が取り込まれる 2 0 1 3 年0 5 月2 8 日 C ar bon が取り込まれた L ar av el v4.0.0 (p hp >= 5.3.0) が公開 2 0 1 3 年0 6 月2 0 日 D a t e T i m e I m m u t a b l e クラスが実装された PHP 5.5.0 が公開 2 0 1 4 年0 4 月1 7 日 C ake PHP に C ar bon が取り込まれる 2 0 1 5 年0 5 月0 8 日 C ake PHP コミュニティで C ar bon を使うのを止めよ うという提案がされる