1
<?php
2

3
/**
4
 * This file is part of the Carbon package.
5
 *
6
 * (c) Brian Nesbitt <brian@nesbot.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
namespace Carbon;
12

13
use Carbon\Traits\Date;
14
use DateTime;
15
use DateTimeInterface;
16
use DateTimeZone;
17

18
/**
19
 * A simple API extension for DateTime.
20
 *
21
 * <autodoc generated by `composer phpdoc`>
22
 *
23
 * @property      int                 $year
24
 * @property      int                 $yearIso
25
 * @property      int                 $month
26
 * @property      int                 $day
27
 * @property      int                 $hour
28
 * @property      int                 $minute
29
 * @property      int                 $second
30
 * @property      int                 $micro
31
 * @property      int                 $microsecond
32
 * @property      int|float|string    $timestamp                                                                           seconds since the Unix Epoch
33
 * @property      string              $englishDayOfWeek                                                                    the day of week in English
34
 * @property      string              $shortEnglishDayOfWeek                                                               the abbreviated day of week in English
35
 * @property      string              $englishMonth                                                                        the month in English
36
 * @property      string              $shortEnglishMonth                                                                   the abbreviated month in English
37
 * @property      string              $localeDayOfWeek                                                                     the day of week in current locale LC_TIME
38
 * @property      string              $shortLocaleDayOfWeek                                                                the abbreviated day of week in current locale LC_TIME
39
 * @property      string              $localeMonth                                                                         the month in current locale LC_TIME
40
 * @property      string              $shortLocaleMonth                                                                    the abbreviated month in current locale LC_TIME
41
 * @property      int                 $milliseconds
42
 * @property      int                 $millisecond
43
 * @property      int                 $milli
44
 * @property      int                 $week                                                                                1 through 53
45
 * @property      int                 $isoWeek                                                                             1 through 53
46
 * @property      int                 $weekYear                                                                            year according to week format
47
 * @property      int                 $isoWeekYear                                                                         year according to ISO week format
48
 * @property      int                 $dayOfYear                                                                           1 through 366
49
 * @property      int                 $age                                                                                 does a diffInYears() with default parameters
50
 * @property      int                 $offset                                                                              the timezone offset in seconds from UTC
51
 * @property      int                 $offsetMinutes                                                                       the timezone offset in minutes from UTC
52
 * @property      int                 $offsetHours                                                                         the timezone offset in hours from UTC
53
 * @property      CarbonTimeZone      $timezone                                                                            the current timezone
54
 * @property      CarbonTimeZone      $tz                                                                                  alias of $timezone
55
 * @property-read int                 $dayOfWeek                                                                           0 (for Sunday) through 6 (for Saturday)
56
 * @property-read int                 $dayOfWeekIso                                                                        1 (for Monday) through 7 (for Sunday)
57
 * @property-read int                 $weekOfYear                                                                          ISO-8601 week number of year, weeks starting on Monday
58
 * @property-read int                 $daysInMonth                                                                         number of days in the given month
59
 * @property-read string              $latinMeridiem                                                                       "am"/"pm" (Ante meridiem or Post meridiem latin lowercase mark)
60
 * @property-read string              $latinUpperMeridiem                                                                  "AM"/"PM" (Ante meridiem or Post meridiem latin uppercase mark)
61
 * @property-read string              $timezoneAbbreviatedName                                                             the current timezone abbreviated name
62
 * @property-read string              $tzAbbrName                                                                          alias of $timezoneAbbreviatedName
63
 * @property-read string              $dayName                                                                             long name of weekday translated according to Carbon locale, in english if no translation available for current language
64
 * @property-read string              $shortDayName                                                                        short name of weekday translated according to Carbon locale, in english if no translation available for current language
65
 * @property-read string              $minDayName                                                                          very short name of weekday translated according to Carbon locale, in english if no translation available for current language
66
 * @property-read string              $monthName                                                                           long name of month translated according to Carbon locale, in english if no translation available for current language
67
 * @property-read string              $shortMonthName                                                                      short name of month translated according to Carbon locale, in english if no translation available for current language
68
 * @property-read string              $meridiem                                                                            lowercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
69
 * @property-read string              $upperMeridiem                                                                       uppercase meridiem mark translated according to Carbon locale, in latin if no translation available for current language
70
 * @property-read int                 $noZeroHour                                                                          current hour from 1 to 24
71
 * @property-read int                 $weeksInYear                                                                         51 through 53
72
 * @property-read int                 $isoWeeksInYear                                                                      51 through 53
73
 * @property-read int                 $weekOfMonth                                                                         1 through 5
74
 * @property-read int                 $weekNumberInMonth                                                                   1 through 5
75
 * @property-read int                 $firstWeekDay                                                                        0 through 6
76
 * @property-read int                 $lastWeekDay                                                                         0 through 6
77
 * @property-read int                 $daysInYear                                                                          365 or 366
78
 * @property-read int                 $quarter                                                                             the quarter of this instance, 1 - 4
79
 * @property-read int                 $decade                                                                              the decade of this instance
80
 * @property-read int                 $century                                                                             the century of this instance
81
 * @property-read int                 $millennium                                                                          the millennium of this instance
82
 * @property-read bool                $dst                                                                                 daylight savings time indicator, true if DST, false otherwise
83
 * @property-read bool                $local                                                                               checks if the timezone is local, true if local, false otherwise
84
 * @property-read bool                $utc                                                                                 checks if the timezone is UTC, true if UTC, false otherwise
85
 * @property-read string              $timezoneName                                                                        the current timezone name
86
 * @property-read string              $tzName                                                                              alias of $timezoneName
87
 * @property-read string              $locale                                                                              locale of the current instance
88
 *
89
 * @method        bool                isUtc()                                                                              Check if the current instance has UTC timezone. (Both isUtc and isUTC cases are valid.)
90
 * @method        bool                isLocal()                                                                            Check if the current instance has non-UTC timezone.
91
 * @method        bool                isValid()                                                                            Check if the current instance is a valid date.
92
 * @method        bool                isDST()                                                                              Check if the current instance is in a daylight saving time.
93
 * @method        bool                isSunday()                                                                           Checks if the instance day is sunday.
94
 * @method        bool                isMonday()                                                                           Checks if the instance day is monday.
95
 * @method        bool                isTuesday()                                                                          Checks if the instance day is tuesday.
96
 * @method        bool                isWednesday()                                                                        Checks if the instance day is wednesday.
97
 * @method        bool                isThursday()                                                                         Checks if the instance day is thursday.
98
 * @method        bool                isFriday()                                                                           Checks if the instance day is friday.
99
 * @method        bool                isSaturday()                                                                         Checks if the instance day is saturday.
100
 * @method        bool                isSameYear(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same year as the instance. If null passed, compare to now (with the same timezone).
101
 * @method        bool                isCurrentYear()                                                                      Checks if the instance is in the same year as the current moment.
102
 * @method        bool                isNextYear()                                                                         Checks if the instance is in the same year as the current moment next year.
103
 * @method        bool                isLastYear()                                                                         Checks if the instance is in the same year as the current moment last year.
104
 * @method        bool                isSameWeek(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same week as the instance. If null passed, compare to now (with the same timezone).
105
 * @method        bool                isCurrentWeek()                                                                      Checks if the instance is in the same week as the current moment.
106
 * @method        bool                isNextWeek()                                                                         Checks if the instance is in the same week as the current moment next week.
107
 * @method        bool                isLastWeek()                                                                         Checks if the instance is in the same week as the current moment last week.
108
 * @method        bool                isSameDay(Carbon|DateTimeInterface|string|null $date = null)                         Checks if the given date is in the same day as the instance. If null passed, compare to now (with the same timezone).
109
 * @method        bool                isCurrentDay()                                                                       Checks if the instance is in the same day as the current moment.
110
 * @method        bool                isNextDay()                                                                          Checks if the instance is in the same day as the current moment next day.
111
 * @method        bool                isLastDay()                                                                          Checks if the instance is in the same day as the current moment last day.
112
 * @method        bool                isSameHour(Carbon|DateTimeInterface|string|null $date = null)                        Checks if the given date is in the same hour as the instance. If null passed, compare to now (with the same timezone).
113
 * @method        bool                isCurrentHour()                                                                      Checks if the instance is in the same hour as the current moment.
114
 * @method        bool                isNextHour()                                                                         Checks if the instance is in the same hour as the current moment next hour.
115
 * @method        bool                isLastHour()                                                                         Checks if the instance is in the same hour as the current moment last hour.
116
 * @method        bool                isSameMinute(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same minute as the instance. If null passed, compare to now (with the same timezone).
117
 * @method        bool                isCurrentMinute()                                                                    Checks if the instance is in the same minute as the current moment.
118
 * @method        bool                isNextMinute()                                                                       Checks if the instance is in the same minute as the current moment next minute.
119
 * @method        bool                isLastMinute()                                                                       Checks if the instance is in the same minute as the current moment last minute.
120
 * @method        bool                isSameSecond(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same second as the instance. If null passed, compare to now (with the same timezone).
121
 * @method        bool                isCurrentSecond()                                                                    Checks if the instance is in the same second as the current moment.
122
 * @method        bool                isNextSecond()                                                                       Checks if the instance is in the same second as the current moment next second.
123
 * @method        bool                isLastSecond()                                                                       Checks if the instance is in the same second as the current moment last second.
124
 * @method        bool                isSameMicro(Carbon|DateTimeInterface|string|null $date = null)                       Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
125
 * @method        bool                isCurrentMicro()                                                                     Checks if the instance is in the same microsecond as the current moment.
126
 * @method        bool                isNextMicro()                                                                        Checks if the instance is in the same microsecond as the current moment next microsecond.
127
 * @method        bool                isLastMicro()                                                                        Checks if the instance is in the same microsecond as the current moment last microsecond.
128
 * @method        bool                isSameMicrosecond(Carbon|DateTimeInterface|string|null $date = null)                 Checks if the given date is in the same microsecond as the instance. If null passed, compare to now (with the same timezone).
129
 * @method        bool                isCurrentMicrosecond()                                                               Checks if the instance is in the same microsecond as the current moment.
130
 * @method        bool                isNextMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment next microsecond.
131
 * @method        bool                isLastMicrosecond()                                                                  Checks if the instance is in the same microsecond as the current moment last microsecond.
132
 * @method        bool                isCurrentMonth()                                                                     Checks if the instance is in the same month as the current moment.
133
 * @method        bool                isNextMonth()                                                                        Checks if the instance is in the same month as the current moment next month.
134
 * @method        bool                isLastMonth()                                                                        Checks if the instance is in the same month as the current moment last month.
135
 * @method        bool                isCurrentQuarter()                                                                   Checks if the instance is in the same quarter as the current moment.
136
 * @method        bool                isNextQuarter()                                                                      Checks if the instance is in the same quarter as the current moment next quarter.
137
 * @method        bool                isLastQuarter()                                                                      Checks if the instance is in the same quarter as the current moment last quarter.
138
 * @method        bool                isSameDecade(Carbon|DateTimeInterface|string|null $date = null)                      Checks if the given date is in the same decade as the instance. If null passed, compare to now (with the same timezone).
139
 * @method        bool                isCurrentDecade()                                                                    Checks if the instance is in the same decade as the current moment.
140
 * @method        bool                isNextDecade()                                                                       Checks if the instance is in the same decade as the current moment next decade.
141
 * @method        bool                isLastDecade()                                                                       Checks if the instance is in the same decade as the current moment last decade.
142
 * @method        bool                isSameCentury(Carbon|DateTimeInterface|string|null $date = null)                     Checks if the given date is in the same century as the instance. If null passed, compare to now (with the same timezone).
143
 * @method        bool                isCurrentCentury()                                                                   Checks if the instance is in the same century as the current moment.
144
 * @method        bool                isNextCentury()                                                                      Checks if the instance is in the same century as the current moment next century.
145
 * @method        bool                isLastCentury()                                                                      Checks if the instance is in the same century as the current moment last century.
146
 * @method        bool                isSameMillennium(Carbon|DateTimeInterface|string|null $date = null)                  Checks if the given date is in the same millennium as the instance. If null passed, compare to now (with the same timezone).
147
 * @method        bool                isCurrentMillennium()                                                                Checks if the instance is in the same millennium as the current moment.
148
 * @method        bool                isNextMillennium()                                                                   Checks if the instance is in the same millennium as the current moment next millennium.
149
 * @method        bool                isLastMillennium()                                                                   Checks if the instance is in the same millennium as the current moment last millennium.
150
 * @method        $this               years(int $value)                                                                    Set current instance year to the given value.
151
 * @method        $this               year(int $value)                                                                     Set current instance year to the given value.
152
 * @method        $this               setYears(int $value)                                                                 Set current instance year to the given value.
153
 * @method        $this               setYear(int $value)                                                                  Set current instance year to the given value.
154
 * @method        $this               months(int $value)                                                                   Set current instance month to the given value.
155
 * @method        $this               month(int $value)                                                                    Set current instance month to the given value.
156
 * @method        $this               setMonths(int $value)                                                                Set current instance month to the given value.
157
 * @method        $this               setMonth(int $value)                                                                 Set current instance month to the given value.
158
 * @method        $this               days(int $value)                                                                     Set current instance day to the given value.
159
 * @method        $this               day(int $value)                                                                      Set current instance day to the given value.
160
 * @method        $this               setDays(int $value)                                                                  Set current instance day to the given value.
161
 * @method        $this               setDay(int $value)                                                                   Set current instance day to the given value.
162
 * @method        $this               hours(int $value)                                                                    Set current instance hour to the given value.
163
 * @method        $this               hour(int $value)                                                                     Set current instance hour to the given value.
164
 * @method        $this               setHours(int $value)                                                                 Set current instance hour to the given value.
165
 * @method        $this               setHour(int $value)                                                                  Set current instance hour to the given value.
166
 * @method        $this               minutes(int $value)                                                                  Set current instance minute to the given value.
167
 * @method        $this               minute(int $value)                                                                   Set current instance minute to the given value.
168
 * @method        $this               setMinutes(int $value)                                                               Set current instance minute to the given value.
169
 * @method        $this               setMinute(int $value)                                                                Set current instance minute to the given value.
170
 * @method        $this               seconds(int $value)                                                                  Set current instance second to the given value.
171
 * @method        $this               second(int $value)                                                                   Set current instance second to the given value.
172
 * @method        $this               setSeconds(int $value)                                                               Set current instance second to the given value.
173
 * @method        $this               setSecond(int $value)                                                                Set current instance second to the given value.
174
 * @method        $this               millis(int $value)                                                                   Set current instance millisecond to the given value.
175
 * @method        $this               milli(int $value)                                                                    Set current instance millisecond to the given value.
176
 * @method        $this               setMillis(int $value)                                                                Set current instance millisecond to the given value.
177
 * @method        $this               setMilli(int $value)                                                                 Set current instance millisecond to the given value.
178
 * @method        $this               milliseconds(int $value)                                                             Set current instance millisecond to the given value.
179
 * @method        $this               millisecond(int $value)                                                              Set current instance millisecond to the given value.
180
 * @method        $this               setMilliseconds(int $value)                                                          Set current instance millisecond to the given value.
181
 * @method        $this               setMillisecond(int $value)                                                           Set current instance millisecond to the given value.
182
 * @method        $this               micros(int $value)                                                                   Set current instance microsecond to the given value.
183
 * @method        $this               micro(int $value)                                                                    Set current instance microsecond to the given value.
184
 * @method        $this               setMicros(int $value)                                                                Set current instance microsecond to the given value.
185
 * @method        $this               setMicro(int $value)                                                                 Set current instance microsecond to the given value.
186
 * @method        $this               microseconds(int $value)                                                             Set current instance microsecond to the given value.
187
 * @method        $this               microsecond(int $value)                                                              Set current instance microsecond to the given value.
188
 * @method        $this               setMicroseconds(int $value)                                                          Set current instance microsecond to the given value.
189
 * @method        $this               setMicrosecond(int $value)                                                           Set current instance microsecond to the given value.
190
 * @method        $this               addYears(int $value = 1)                                                             Add years (the $value count passed in) to the instance (using date interval).
191
 * @method        $this               addYear()                                                                            Add one year to the instance (using date interval).
192
 * @method        $this               subYears(int $value = 1)                                                             Sub years (the $value count passed in) to the instance (using date interval).
193
 * @method        $this               subYear()                                                                            Sub one year to the instance (using date interval).
194
 * @method        $this               addYearsWithOverflow(int $value = 1)                                                 Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
195
 * @method        $this               addYearWithOverflow()                                                                Add one year to the instance (using date interval) with overflow explicitly allowed.
196
 * @method        $this               subYearsWithOverflow(int $value = 1)                                                 Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
197
 * @method        $this               subYearWithOverflow()                                                                Sub one year to the instance (using date interval) with overflow explicitly allowed.
198
 * @method        $this               addYearsWithoutOverflow(int $value = 1)                                              Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
199
 * @method        $this               addYearWithoutOverflow()                                                             Add one year to the instance (using date interval) with overflow explicitly forbidden.
200
 * @method        $this               subYearsWithoutOverflow(int $value = 1)                                              Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
201
 * @method        $this               subYearWithoutOverflow()                                                             Sub one year to the instance (using date interval) with overflow explicitly forbidden.
202
 * @method        $this               addYearsWithNoOverflow(int $value = 1)                                               Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
203
 * @method        $this               addYearWithNoOverflow()                                                              Add one year to the instance (using date interval) with overflow explicitly forbidden.
204
 * @method        $this               subYearsWithNoOverflow(int $value = 1)                                               Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
205
 * @method        $this               subYearWithNoOverflow()                                                              Sub one year to the instance (using date interval) with overflow explicitly forbidden.
206
 * @method        $this               addYearsNoOverflow(int $value = 1)                                                   Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
207
 * @method        $this               addYearNoOverflow()                                                                  Add one year to the instance (using date interval) with overflow explicitly forbidden.
208
 * @method        $this               subYearsNoOverflow(int $value = 1)                                                   Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
209
 * @method        $this               subYearNoOverflow()                                                                  Sub one year to the instance (using date interval) with overflow explicitly forbidden.
210
 * @method        $this               addMonths(int $value = 1)                                                            Add months (the $value count passed in) to the instance (using date interval).
211
 * @method        $this               addMonth()                                                                           Add one month to the instance (using date interval).
212
 * @method        $this               subMonths(int $value = 1)                                                            Sub months (the $value count passed in) to the instance (using date interval).
213
 * @method        $this               subMonth()                                                                           Sub one month to the instance (using date interval).
214
 * @method        $this               addMonthsWithOverflow(int $value = 1)                                                Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
215
 * @method        $this               addMonthWithOverflow()                                                               Add one month to the instance (using date interval) with overflow explicitly allowed.
216
 * @method        $this               subMonthsWithOverflow(int $value = 1)                                                Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
217
 * @method        $this               subMonthWithOverflow()                                                               Sub one month to the instance (using date interval) with overflow explicitly allowed.
218
 * @method        $this               addMonthsWithoutOverflow(int $value = 1)                                             Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
219
 * @method        $this               addMonthWithoutOverflow()                                                            Add one month to the instance (using date interval) with overflow explicitly forbidden.
220
 * @method        $this               subMonthsWithoutOverflow(int $value = 1)                                             Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
221
 * @method        $this               subMonthWithoutOverflow()                                                            Sub one month to the instance (using date interval) with overflow explicitly forbidden.
222
 * @method        $this               addMonthsWithNoOverflow(int $value = 1)                                              Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
223
 * @method        $this               addMonthWithNoOverflow()                                                             Add one month to the instance (using date interval) with overflow explicitly forbidden.
224
 * @method        $this               subMonthsWithNoOverflow(int $value = 1)                                              Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
225
 * @method        $this               subMonthWithNoOverflow()                                                             Sub one month to the instance (using date interval) with overflow explicitly forbidden.
226
 * @method        $this               addMonthsNoOverflow(int $value = 1)                                                  Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
227
 * @method        $this               addMonthNoOverflow()                                                                 Add one month to the instance (using date interval) with overflow explicitly forbidden.
228
 * @method        $this               subMonthsNoOverflow(int $value = 1)                                                  Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
229
 * @method        $this               subMonthNoOverflow()                                                                 Sub one month to the instance (using date interval) with overflow explicitly forbidden.
230
 * @method        $this               addDays(int $value = 1)                                                              Add days (the $value count passed in) to the instance (using date interval).
231
 * @method        $this               addDay()                                                                             Add one day to the instance (using date interval).
232
 * @method        $this               subDays(int $value = 1)                                                              Sub days (the $value count passed in) to the instance (using date interval).
233
 * @method        $this               subDay()                                                                             Sub one day to the instance (using date interval).
234
 * @method        $this               addHours(int $value = 1)                                                             Add hours (the $value count passed in) to the instance (using date interval).
235
 * @method        $this               addHour()                                                                            Add one hour to the instance (using date interval).
236
 * @method        $this               subHours(int $value = 1)                                                             Sub hours (the $value count passed in) to the instance (using date interval).
237
 * @method        $this               subHour()                                                                            Sub one hour to the instance (using date interval).
238
 * @method        $this               addMinutes(int $value = 1)                                                           Add minutes (the $value count passed in) to the instance (using date interval).
239
 * @method        $this               addMinute()                                                                          Add one minute to the instance (using date interval).
240
 * @method        $this               subMinutes(int $value = 1)                                                           Sub minutes (the $value count passed in) to the instance (using date interval).
241
 * @method        $this               subMinute()                                                                          Sub one minute to the instance (using date interval).
242
 * @method        $this               addSeconds(int $value = 1)                                                           Add seconds (the $value count passed in) to the instance (using date interval).
243
 * @method        $this               addSecond()                                                                          Add one second to the instance (using date interval).
244
 * @method        $this               subSeconds(int $value = 1)                                                           Sub seconds (the $value count passed in) to the instance (using date interval).
245
 * @method        $this               subSecond()                                                                          Sub one second to the instance (using date interval).
246
 * @method        $this               addMillis(int $value = 1)                                                            Add milliseconds (the $value count passed in) to the instance (using date interval).
247
 * @method        $this               addMilli()                                                                           Add one millisecond to the instance (using date interval).
248
 * @method        $this               subMillis(int $value = 1)                                                            Sub milliseconds (the $value count passed in) to the instance (using date interval).
249
 * @method        $this               subMilli()                                                                           Sub one millisecond to the instance (using date interval).
250
 * @method        $this               addMilliseconds(int $value = 1)                                                      Add milliseconds (the $value count passed in) to the instance (using date interval).
251
 * @method        $this               addMillisecond()                                                                     Add one millisecond to the instance (using date interval).
252
 * @method        $this               subMilliseconds(int $value = 1)                                                      Sub milliseconds (the $value count passed in) to the instance (using date interval).
253
 * @method        $this               subMillisecond()                                                                     Sub one millisecond to the instance (using date interval).
254
 * @method        $this               addMicros(int $value = 1)                                                            Add microseconds (the $value count passed in) to the instance (using date interval).
255
 * @method        $this               addMicro()                                                                           Add one microsecond to the instance (using date interval).
256
 * @method        $this               subMicros(int $value = 1)                                                            Sub microseconds (the $value count passed in) to the instance (using date interval).
257
 * @method        $this               subMicro()                                                                           Sub one microsecond to the instance (using date interval).
258
 * @method        $this               addMicroseconds(int $value = 1)                                                      Add microseconds (the $value count passed in) to the instance (using date interval).
259
 * @method        $this               addMicrosecond()                                                                     Add one microsecond to the instance (using date interval).
260
 * @method        $this               subMicroseconds(int $value = 1)                                                      Sub microseconds (the $value count passed in) to the instance (using date interval).
261
 * @method        $this               subMicrosecond()                                                                     Sub one microsecond to the instance (using date interval).
262
 * @method        $this               addMillennia(int $value = 1)                                                         Add millennia (the $value count passed in) to the instance (using date interval).
263
 * @method        $this               addMillennium()                                                                      Add one millennium to the instance (using date interval).
264
 * @method        $this               subMillennia(int $value = 1)                                                         Sub millennia (the $value count passed in) to the instance (using date interval).
265
 * @method        $this               subMillennium()                                                                      Sub one millennium to the instance (using date interval).
266
 * @method        $this               addMillenniaWithOverflow(int $value = 1)                                             Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
267
 * @method        $this               addMillenniumWithOverflow()                                                          Add one millennium to the instance (using date interval) with overflow explicitly allowed.
268
 * @method        $this               subMillenniaWithOverflow(int $value = 1)                                             Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
269
 * @method        $this               subMillenniumWithOverflow()                                                          Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
270
 * @method        $this               addMillenniaWithoutOverflow(int $value = 1)                                          Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
271
 * @method        $this               addMillenniumWithoutOverflow()                                                       Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
272
 * @method        $this               subMillenniaWithoutOverflow(int $value = 1)                                          Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
273
 * @method        $this               subMillenniumWithoutOverflow()                                                       Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
274
 * @method        $this               addMillenniaWithNoOverflow(int $value = 1)                                           Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
275
 * @method        $this               addMillenniumWithNoOverflow()                                                        Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
276
 * @method        $this               subMillenniaWithNoOverflow(int $value = 1)                                           Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
277
 * @method        $this               subMillenniumWithNoOverflow()                                                        Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
278
 * @method        $this               addMillenniaNoOverflow(int $value = 1)                                               Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
279
 * @method        $this               addMillenniumNoOverflow()                                                            Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
280
 * @method        $this               subMillenniaNoOverflow(int $value = 1)                                               Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
281
 * @method        $this               subMillenniumNoOverflow()                                                            Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
282
 * @method        $this               addCenturies(int $value = 1)                                                         Add centuries (the $value count passed in) to the instance (using date interval).
283
 * @method        $this               addCentury()                                                                         Add one century to the instance (using date interval).
284
 * @method        $this               subCenturies(int $value = 1)                                                         Sub centuries (the $value count passed in) to the instance (using date interval).
285
 * @method        $this               subCentury()                                                                         Sub one century to the instance (using date interval).
286
 * @method        $this               addCenturiesWithOverflow(int $value = 1)                                             Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
287
 * @method        $this               addCenturyWithOverflow()                                                             Add one century to the instance (using date interval) with overflow explicitly allowed.
288
 * @method        $this               subCenturiesWithOverflow(int $value = 1)                                             Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
289
 * @method        $this               subCenturyWithOverflow()                                                             Sub one century to the instance (using date interval) with overflow explicitly allowed.
290
 * @method        $this               addCenturiesWithoutOverflow(int $value = 1)                                          Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
291
 * @method        $this               addCenturyWithoutOverflow()                                                          Add one century to the instance (using date interval) with overflow explicitly forbidden.
292
 * @method        $this               subCenturiesWithoutOverflow(int $value = 1)                                          Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
293
 * @method        $this               subCenturyWithoutOverflow()                                                          Sub one century to the instance (using date interval) with overflow explicitly forbidden.
294
 * @method        $this               addCenturiesWithNoOverflow(int $value = 1)                                           Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
295
 * @method        $this               addCenturyWithNoOverflow()                                                           Add one century to the instance (using date interval) with overflow explicitly forbidden.
296
 * @method        $this               subCenturiesWithNoOverflow(int $value = 1)                                           Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
297
 * @method        $this               subCenturyWithNoOverflow()                                                           Sub one century to the instance (using date interval) with overflow explicitly forbidden.
298
 * @method        $this               addCenturiesNoOverflow(int $value = 1)                                               Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
299
 * @method        $this               addCenturyNoOverflow()                                                               Add one century to the instance (using date interval) with overflow explicitly forbidden.
300
 * @method        $this               subCenturiesNoOverflow(int $value = 1)                                               Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
301
 * @method        $this               subCenturyNoOverflow()                                                               Sub one century to the instance (using date interval) with overflow explicitly forbidden.
302
 * @method        $this               addDecades(int $value = 1)                                                           Add decades (the $value count passed in) to the instance (using date interval).
303
 * @method        $this               addDecade()                                                                          Add one decade to the instance (using date interval).
304
 * @method        $this               subDecades(int $value = 1)                                                           Sub decades (the $value count passed in) to the instance (using date interval).
305
 * @method        $this               subDecade()                                                                          Sub one decade to the instance (using date interval).
306
 * @method        $this               addDecadesWithOverflow(int $value = 1)                                               Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
307
 * @method        $this               addDecadeWithOverflow()                                                              Add one decade to the instance (using date interval) with overflow explicitly allowed.
308
 * @method        $this               subDecadesWithOverflow(int $value = 1)                                               Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
309
 * @method        $this               subDecadeWithOverflow()                                                              Sub one decade to the instance (using date interval) with overflow explicitly allowed.
310
 * @method        $this               addDecadesWithoutOverflow(int $value = 1)                                            Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
311
 * @method        $this               addDecadeWithoutOverflow()                                                           Add one decade to the instance (using date interval) with overflow explicitly forbidden.
312
 * @method        $this               subDecadesWithoutOverflow(int $value = 1)                                            Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
313
 * @method        $this               subDecadeWithoutOverflow()                                                           Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
314
 * @method        $this               addDecadesWithNoOverflow(int $value = 1)                                             Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
315
 * @method        $this               addDecadeWithNoOverflow()                                                            Add one decade to the instance (using date interval) with overflow explicitly forbidden.
316
 * @method        $this               subDecadesWithNoOverflow(int $value = 1)                                             Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
317
 * @method        $this               subDecadeWithNoOverflow()                                                            Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
318
 * @method        $this               addDecadesNoOverflow(int $value = 1)                                                 Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
319
 * @method        $this               addDecadeNoOverflow()                                                                Add one decade to the instance (using date interval) with overflow explicitly forbidden.
320
 * @method        $this               subDecadesNoOverflow(int $value = 1)                                                 Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
321
 * @method        $this               subDecadeNoOverflow()                                                                Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
322
 * @method        $this               addQuarters(int $value = 1)                                                          Add quarters (the $value count passed in) to the instance (using date interval).
323
 * @method        $this               addQuarter()                                                                         Add one quarter to the instance (using date interval).
324
 * @method        $this               subQuarters(int $value = 1)                                                          Sub quarters (the $value count passed in) to the instance (using date interval).
325
 * @method        $this               subQuarter()                                                                         Sub one quarter to the instance (using date interval).
326
 * @method        $this               addQuartersWithOverflow(int $value = 1)                                              Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
327
 * @method        $this               addQuarterWithOverflow()                                                             Add one quarter to the instance (using date interval) with overflow explicitly allowed.
328
 * @method        $this               subQuartersWithOverflow(int $value = 1)                                              Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
329
 * @method        $this               subQuarterWithOverflow()                                                             Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
330
 * @method        $this               addQuartersWithoutOverflow(int $value = 1)                                           Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
331
 * @method        $this               addQuarterWithoutOverflow()                                                          Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
332
 * @method        $this               subQuartersWithoutOverflow(int $value = 1)                                           Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
333
 * @method        $this               subQuarterWithoutOverflow()                                                          Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
334
 * @method        $this               addQuartersWithNoOverflow(int $value = 1)                                            Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
335
 * @method        $this               addQuarterWithNoOverflow()                                                           Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
336
 * @method        $this               subQuartersWithNoOverflow(int $value = 1)                                            Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
337
 * @method        $this               subQuarterWithNoOverflow()                                                           Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
338
 * @method        $this               addQuartersNoOverflow(int $value = 1)                                                Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
339
 * @method        $this               addQuarterNoOverflow()                                                               Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
340
 * @method        $this               subQuartersNoOverflow(int $value = 1)                                                Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
341
 * @method        $this               subQuarterNoOverflow()                                                               Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
342
 * @method        $this               addWeeks(int $value = 1)                                                             Add weeks (the $value count passed in) to the instance (using date interval).
343
 * @method        $this               addWeek()                                                                            Add one week to the instance (using date interval).
344
 * @method        $this               subWeeks(int $value = 1)                                                             Sub weeks (the $value count passed in) to the instance (using date interval).
345
 * @method        $this               subWeek()                                                                            Sub one week to the instance (using date interval).
346
 * @method        $this               addWeekdays(int $value = 1)                                                          Add weekdays (the $value count passed in) to the instance (using date interval).
347
 * @method        $this               addWeekday()                                                                         Add one weekday to the instance (using date interval).
348
 * @method        $this               subWeekdays(int $value = 1)                                                          Sub weekdays (the $value count passed in) to the instance (using date interval).
349
 * @method        $this               subWeekday()                                                                         Sub one weekday to the instance (using date interval).
350
 * @method        $this               addRealMicros(int $value = 1)                                                        Add microseconds (the $value count passed in) to the instance (using timestamp).
351
 * @method        $this               addRealMicro()                                                                       Add one microsecond to the instance (using timestamp).
352
 * @method        $this               subRealMicros(int $value = 1)                                                        Sub microseconds (the $value count passed in) to the instance (using timestamp).
353
 * @method        $this               subRealMicro()                                                                       Sub one microsecond to the instance (using timestamp).
354
 * @method        CarbonPeriod        microsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
355
 * @method        $this               addRealMicroseconds(int $value = 1)                                                  Add microseconds (the $value count passed in) to the instance (using timestamp).
356
 * @method        $this               addRealMicrosecond()                                                                 Add one microsecond to the instance (using timestamp).
357
 * @method        $this               subRealMicroseconds(int $value = 1)                                                  Sub microseconds (the $value count passed in) to the instance (using timestamp).
358
 * @method        $this               subRealMicrosecond()                                                                 Sub one microsecond to the instance (using timestamp).
359
 * @method        CarbonPeriod        microsecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each microsecond or every X microseconds if a factor is given.
360
 * @method        $this               addRealMillis(int $value = 1)                                                        Add milliseconds (the $value count passed in) to the instance (using timestamp).
361
 * @method        $this               addRealMilli()                                                                       Add one millisecond to the instance (using timestamp).
362
 * @method        $this               subRealMillis(int $value = 1)                                                        Sub milliseconds (the $value count passed in) to the instance (using timestamp).
363
 * @method        $this               subRealMilli()                                                                       Sub one millisecond to the instance (using timestamp).
364
 * @method        CarbonPeriod        millisUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
365
 * @method        $this               addRealMilliseconds(int $value = 1)                                                  Add milliseconds (the $value count passed in) to the instance (using timestamp).
366
 * @method        $this               addRealMillisecond()                                                                 Add one millisecond to the instance (using timestamp).
367
 * @method        $this               subRealMilliseconds(int $value = 1)                                                  Sub milliseconds (the $value count passed in) to the instance (using timestamp).
368
 * @method        $this               subRealMillisecond()                                                                 Sub one millisecond to the instance (using timestamp).
369
 * @method        CarbonPeriod        millisecondsUntil($endDate = null, int $factor = 1)                                  Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millisecond or every X milliseconds if a factor is given.
370
 * @method        $this               addRealSeconds(int $value = 1)                                                       Add seconds (the $value count passed in) to the instance (using timestamp).
371
 * @method        $this               addRealSecond()                                                                      Add one second to the instance (using timestamp).
372
 * @method        $this               subRealSeconds(int $value = 1)                                                       Sub seconds (the $value count passed in) to the instance (using timestamp).
373
 * @method        $this               subRealSecond()                                                                      Sub one second to the instance (using timestamp).
374
 * @method        CarbonPeriod        secondsUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each second or every X seconds if a factor is given.
375
 * @method        $this               addRealMinutes(int $value = 1)                                                       Add minutes (the $value count passed in) to the instance (using timestamp).
376
 * @method        $this               addRealMinute()                                                                      Add one minute to the instance (using timestamp).
377
 * @method        $this               subRealMinutes(int $value = 1)                                                       Sub minutes (the $value count passed in) to the instance (using timestamp).
378
 * @method        $this               subRealMinute()                                                                      Sub one minute to the instance (using timestamp).
379
 * @method        CarbonPeriod        minutesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each minute or every X minutes if a factor is given.
380
 * @method        $this               addRealHours(int $value = 1)                                                         Add hours (the $value count passed in) to the instance (using timestamp).
381
 * @method        $this               addRealHour()                                                                        Add one hour to the instance (using timestamp).
382
 * @method        $this               subRealHours(int $value = 1)                                                         Sub hours (the $value count passed in) to the instance (using timestamp).
383
 * @method        $this               subRealHour()                                                                        Sub one hour to the instance (using timestamp).
384
 * @method        CarbonPeriod        hoursUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each hour or every X hours if a factor is given.
385
 * @method        $this               addRealDays(int $value = 1)                                                          Add days (the $value count passed in) to the instance (using timestamp).
386
 * @method        $this               addRealDay()                                                                         Add one day to the instance (using timestamp).
387
 * @method        $this               subRealDays(int $value = 1)                                                          Sub days (the $value count passed in) to the instance (using timestamp).
388
 * @method        $this               subRealDay()                                                                         Sub one day to the instance (using timestamp).
389
 * @method        CarbonPeriod        daysUntil($endDate = null, int $factor = 1)                                          Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each day or every X days if a factor is given.
390
 * @method        $this               addRealWeeks(int $value = 1)                                                         Add weeks (the $value count passed in) to the instance (using timestamp).
391
 * @method        $this               addRealWeek()                                                                        Add one week to the instance (using timestamp).
392
 * @method        $this               subRealWeeks(int $value = 1)                                                         Sub weeks (the $value count passed in) to the instance (using timestamp).
393
 * @method        $this               subRealWeek()                                                                        Sub one week to the instance (using timestamp).
394
 * @method        CarbonPeriod        weeksUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each week or every X weeks if a factor is given.
395
 * @method        $this               addRealMonths(int $value = 1)                                                        Add months (the $value count passed in) to the instance (using timestamp).
396
 * @method        $this               addRealMonth()                                                                       Add one month to the instance (using timestamp).
397
 * @method        $this               subRealMonths(int $value = 1)                                                        Sub months (the $value count passed in) to the instance (using timestamp).
398
 * @method        $this               subRealMonth()                                                                       Sub one month to the instance (using timestamp).
399
 * @method        CarbonPeriod        monthsUntil($endDate = null, int $factor = 1)                                        Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each month or every X months if a factor is given.
400
 * @method        $this               addRealQuarters(int $value = 1)                                                      Add quarters (the $value count passed in) to the instance (using timestamp).
401
 * @method        $this               addRealQuarter()                                                                     Add one quarter to the instance (using timestamp).
402
 * @method        $this               subRealQuarters(int $value = 1)                                                      Sub quarters (the $value count passed in) to the instance (using timestamp).
403
 * @method        $this               subRealQuarter()                                                                     Sub one quarter to the instance (using timestamp).
404
 * @method        CarbonPeriod        quartersUntil($endDate = null, int $factor = 1)                                      Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each quarter or every X quarters if a factor is given.
405
 * @method        $this               addRealYears(int $value = 1)                                                         Add years (the $value count passed in) to the instance (using timestamp).
406
 * @method        $this               addRealYear()                                                                        Add one year to the instance (using timestamp).
407
 * @method        $this               subRealYears(int $value = 1)                                                         Sub years (the $value count passed in) to the instance (using timestamp).
408
 * @method        $this               subRealYear()                                                                        Sub one year to the instance (using timestamp).
409
 * @method        CarbonPeriod        yearsUntil($endDate = null, int $factor = 1)                                         Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each year or every X years if a factor is given.
410
 * @method        $this               addRealDecades(int $value = 1)                                                       Add decades (the $value count passed in) to the instance (using timestamp).
411
 * @method        $this               addRealDecade()                                                                      Add one decade to the instance (using timestamp).
412
 * @method        $this               subRealDecades(int $value = 1)                                                       Sub decades (the $value count passed in) to the instance (using timestamp).
413
 * @method        $this               subRealDecade()                                                                      Sub one decade to the instance (using timestamp).
414
 * @method        CarbonPeriod        decadesUntil($endDate = null, int $factor = 1)                                       Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each decade or every X decades if a factor is given.
415
 * @method        $this               addRealCenturies(int $value = 1)                                                     Add centuries (the $value count passed in) to the instance (using timestamp).
416
 * @method        $this               addRealCentury()                                                                     Add one century to the instance (using timestamp).
417
 * @method        $this               subRealCenturies(int $value = 1)                                                     Sub centuries (the $value count passed in) to the instance (using timestamp).
418
 * @method        $this               subRealCentury()                                                                     Sub one century to the instance (using timestamp).
419
 * @method        CarbonPeriod        centuriesUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each century or every X centuries if a factor is given.
420
 * @method        $this               addRealMillennia(int $value = 1)                                                     Add millennia (the $value count passed in) to the instance (using timestamp).
421
 * @method        $this               addRealMillennium()                                                                  Add one millennium to the instance (using timestamp).
422
 * @method        $this               subRealMillennia(int $value = 1)                                                     Sub millennia (the $value count passed in) to the instance (using timestamp).
423
 * @method        $this               subRealMillennium()                                                                  Sub one millennium to the instance (using timestamp).
424
 * @method        CarbonPeriod        millenniaUntil($endDate = null, int $factor = 1)                                     Return an iterable period from current date to given end (string, DateTime or Carbon instance) for each millennium or every X millennia if a factor is given.
425
 * @method        $this               roundYear(float $precision = 1, string $function = "round")                          Round the current instance year with given precision using the given function.
426
 * @method        $this               roundYears(float $precision = 1, string $function = "round")                         Round the current instance year with given precision using the given function.
427
 * @method        $this               floorYear(float $precision = 1)                                                      Truncate the current instance year with given precision.
428
 * @method        $this               floorYears(float $precision = 1)                                                     Truncate the current instance year with given precision.
429
 * @method        $this               ceilYear(float $precision = 1)                                                       Ceil the current instance year with given precision.
430
 * @method        $this               ceilYears(float $precision = 1)                                                      Ceil the current instance year with given precision.
431
 * @method        $this               roundMonth(float $precision = 1, string $function = "round")                         Round the current instance month with given precision using the given function.
432
 * @method        $this               roundMonths(float $precision = 1, string $function = "round")                        Round the current instance month with given precision using the given function.
433
 * @method        $this               floorMonth(float $precision = 1)                                                     Truncate the current instance month with given precision.
434
 * @method        $this               floorMonths(float $precision = 1)                                                    Truncate the current instance month with given precision.
435
 * @method        $this               ceilMonth(float $precision = 1)                                                      Ceil the current instance month with given precision.
436
 * @method        $this               ceilMonths(float $precision = 1)                                                     Ceil the current instance month with given precision.
437
 * @method        $this               roundDay(float $precision = 1, string $function = "round")                           Round the current instance day with given precision using the given function.
438
 * @method        $this               roundDays(float $precision = 1, string $function = "round")                          Round the current instance day with given precision using the given function.
439
 * @method        $this               floorDay(float $precision = 1)                                                       Truncate the current instance day with given precision.
440
 * @method        $this               floorDays(float $precision = 1)                                                      Truncate the current instance day with given precision.
441
 * @method        $this               ceilDay(float $precision = 1)                                                        Ceil the current instance day with given precision.
442
 * @method        $this               ceilDays(float $precision = 1)                                                       Ceil the current instance day with given precision.
443
 * @method        $this               roundHour(float $precision = 1, string $function = "round")                          Round the current instance hour with given precision using the given function.
444
 * @method        $this               roundHours(float $precision = 1, string $function = "round")                         Round the current instance hour with given precision using the given function.
445
 * @method        $this               floorHour(float $precision = 1)                                                      Truncate the current instance hour with given precision.
446
 * @method        $this               floorHours(float $precision = 1)                                                     Truncate the current instance hour with given precision.
447
 * @method        $this               ceilHour(float $precision = 1)                                                       Ceil the current instance hour with given precision.
448
 * @method        $this               ceilHours(float $precision = 1)                                                      Ceil the current instance hour with given precision.
449
 * @method        $this               roundMinute(float $precision = 1, string $function = "round")                        Round the current instance minute with given precision using the given function.
450
 * @method        $this               roundMinutes(float $precision = 1, string $function = "round")                       Round the current instance minute with given precision using the given function.
451
 * @method        $this               floorMinute(float $precision = 1)                                                    Truncate the current instance minute with given precision.
452
 * @method        $this               floorMinutes(float $precision = 1)                                                   Truncate the current instance minute with given precision.
453
 * @method        $this               ceilMinute(float $precision = 1)                                                     Ceil the current instance minute with given precision.
454
 * @method        $this               ceilMinutes(float $precision = 1)                                                    Ceil the current instance minute with given precision.
455
 * @method        $this               roundSecond(float $precision = 1, string $function = "round")                        Round the current instance second with given precision using the given function.
456
 * @method        $this               roundSeconds(float $precision = 1, string $function = "round")                       Round the current instance second with given precision using the given function.
457
 * @method        $this               floorSecond(float $precision = 1)                                                    Truncate the current instance second with given precision.
458
 * @method        $this               floorSeconds(float $precision = 1)                                                   Truncate the current instance second with given precision.
459
 * @method        $this               ceilSecond(float $precision = 1)                                                     Ceil the current instance second with given precision.
460
 * @method        $this               ceilSeconds(float $precision = 1)                                                    Ceil the current instance second with given precision.
461
 * @method        $this               roundMillennium(float $precision = 1, string $function = "round")                    Round the current instance millennium with given precision using the given function.
462
 * @method        $this               roundMillennia(float $precision = 1, string $function = "round")                     Round the current instance millennium with given precision using the given function.
463
 * @method        $this               floorMillennium(float $precision = 1)                                                Truncate the current instance millennium with given precision.
464
 * @method        $this               floorMillennia(float $precision = 1)                                                 Truncate the current instance millennium with given precision.
465
 * @method        $this               ceilMillennium(float $precision = 1)                                                 Ceil the current instance millennium with given precision.
466
 * @method        $this               ceilMillennia(float $precision = 1)                                                  Ceil the current instance millennium with given precision.
467
 * @method        $this               roundCentury(float $precision = 1, string $function = "round")                       Round the current instance century with given precision using the given function.
468
 * @method        $this               roundCenturies(float $precision = 1, string $function = "round")                     Round the current instance century with given precision using the given function.
469
 * @method        $this               floorCentury(float $precision = 1)                                                   Truncate the current instance century with given precision.
470
 * @method        $this               floorCenturies(float $precision = 1)                                                 Truncate the current instance century with given precision.
471
 * @method        $this               ceilCentury(float $precision = 1)                                                    Ceil the current instance century with given precision.
472
 * @method        $this               ceilCenturies(float $precision = 1)                                                  Ceil the current instance century with given precision.
473
 * @method        $this               roundDecade(float $precision = 1, string $function = "round")                        Round the current instance decade with given precision using the given function.
474
 * @method        $this               roundDecades(float $precision = 1, string $function = "round")                       Round the current instance decade with given precision using the given function.
475
 * @method        $this               floorDecade(float $precision = 1)                                                    Truncate the current instance decade with given precision.
476
 * @method        $this               floorDecades(float $precision = 1)                                                   Truncate the current instance decade with given precision.
477
 * @method        $this               ceilDecade(float $precision = 1)                                                     Ceil the current instance decade with given precision.
478
 * @method        $this               ceilDecades(float $precision = 1)                                                    Ceil the current instance decade with given precision.
479
 * @method        $this               roundQuarter(float $precision = 1, string $function = "round")                       Round the current instance quarter with given precision using the given function.
480
 * @method        $this               roundQuarters(float $precision = 1, string $function = "round")                      Round the current instance quarter with given precision using the given function.
481
 * @method        $this               floorQuarter(float $precision = 1)                                                   Truncate the current instance quarter with given precision.
482
 * @method        $this               floorQuarters(float $precision = 1)                                                  Truncate the current instance quarter with given precision.
483
 * @method        $this               ceilQuarter(float $precision = 1)                                                    Ceil the current instance quarter with given precision.
484
 * @method        $this               ceilQuarters(float $precision = 1)                                                   Ceil the current instance quarter with given precision.
485
 * @method        $this               roundMillisecond(float $precision = 1, string $function = "round")                   Round the current instance millisecond with given precision using the given function.
486
 * @method        $this               roundMilliseconds(float $precision = 1, string $function = "round")                  Round the current instance millisecond with given precision using the given function.
487
 * @method        $this               floorMillisecond(float $precision = 1)                                               Truncate the current instance millisecond with given precision.
488
 * @method        $this               floorMilliseconds(float $precision = 1)                                              Truncate the current instance millisecond with given precision.
489
 * @method        $this               ceilMillisecond(float $precision = 1)                                                Ceil the current instance millisecond with given precision.
490
 * @method        $this               ceilMilliseconds(float $precision = 1)                                               Ceil the current instance millisecond with given precision.
491
 * @method        $this               roundMicrosecond(float $precision = 1, string $function = "round")                   Round the current instance microsecond with given precision using the given function.
492
 * @method        $this               roundMicroseconds(float $precision = 1, string $function = "round")                  Round the current instance microsecond with given precision using the given function.
493
 * @method        $this               floorMicrosecond(float $precision = 1)                                               Truncate the current instance microsecond with given precision.
494
 * @method        $this               floorMicroseconds(float $precision = 1)                                              Truncate the current instance microsecond with given precision.
495
 * @method        $this               ceilMicrosecond(float $precision = 1)                                                Ceil the current instance microsecond with given precision.
496
 * @method        $this               ceilMicroseconds(float $precision = 1)                                               Ceil the current instance microsecond with given precision.
497
 * @method        string              shortAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
498
 * @method        string              longAbsoluteDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Absolute' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
499
 * @method        string              shortRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)          Get the difference (short format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
500
 * @method        string              longRelativeDiffForHumans(DateTimeInterface $other = null, int $parts = 1)           Get the difference (long format, 'Relative' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
501
 * @method        string              shortRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)     Get the difference (short format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
502
 * @method        string              longRelativeToNowDiffForHumans(DateTimeInterface $other = null, int $parts = 1)      Get the difference (long format, 'RelativeToNow' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
503
 * @method        string              shortRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)   Get the difference (short format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
504
 * @method        string              longRelativeToOtherDiffForHumans(DateTimeInterface $other = null, int $parts = 1)    Get the difference (long format, 'RelativeToOther' mode) in a human readable format in the current locale. ($other and $parts parameters can be swapped.)
505
 * @method        static Carbon|false createFromFormat(string $format, string $time, string|DateTimeZone $timezone = null) Parse a string into a new Carbon object according to the specified format.
506
 * @method        static Carbon       __set_state(array $array)                                                            https://php.net/manual/en/datetime.set-state.php
507
 *
508
 * </autodoc>
509
 */
510
class Carbon extends DateTime implements CarbonInterface
511
{
512
    use Date;
513

514
    /**
515
     * Returns true if the current class/instance is mutable.
516
     *
517
     * @return bool
518
     */
519 1
    public static function isMutable()
520
    {
521 1
        return true;
522
    }
523
}

Read our documentation on viewing source code .

Loading