blob: cb1c498800299b590eda9003ff348b7c95e53ad3 [file] [log] [blame]
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +02001<?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 */
11namespace Carbon;
12
13use Carbon\Traits\Date;
14use DateTimeImmutable;
15use DateTimeInterface;
16use DateTimeZone;
17
18/**
19 * A simple API extension for DateTimeImmutable.
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 CarbonImmutable years(int $value) Set current instance year to the given value.
151 * @method CarbonImmutable year(int $value) Set current instance year to the given value.
152 * @method CarbonImmutable setYears(int $value) Set current instance year to the given value.
153 * @method CarbonImmutable setYear(int $value) Set current instance year to the given value.
154 * @method CarbonImmutable months(int $value) Set current instance month to the given value.
155 * @method CarbonImmutable month(int $value) Set current instance month to the given value.
156 * @method CarbonImmutable setMonths(int $value) Set current instance month to the given value.
157 * @method CarbonImmutable setMonth(int $value) Set current instance month to the given value.
158 * @method CarbonImmutable days(int $value) Set current instance day to the given value.
159 * @method CarbonImmutable day(int $value) Set current instance day to the given value.
160 * @method CarbonImmutable setDays(int $value) Set current instance day to the given value.
161 * @method CarbonImmutable setDay(int $value) Set current instance day to the given value.
162 * @method CarbonImmutable hours(int $value) Set current instance hour to the given value.
163 * @method CarbonImmutable hour(int $value) Set current instance hour to the given value.
164 * @method CarbonImmutable setHours(int $value) Set current instance hour to the given value.
165 * @method CarbonImmutable setHour(int $value) Set current instance hour to the given value.
166 * @method CarbonImmutable minutes(int $value) Set current instance minute to the given value.
167 * @method CarbonImmutable minute(int $value) Set current instance minute to the given value.
168 * @method CarbonImmutable setMinutes(int $value) Set current instance minute to the given value.
169 * @method CarbonImmutable setMinute(int $value) Set current instance minute to the given value.
170 * @method CarbonImmutable seconds(int $value) Set current instance second to the given value.
171 * @method CarbonImmutable second(int $value) Set current instance second to the given value.
172 * @method CarbonImmutable setSeconds(int $value) Set current instance second to the given value.
173 * @method CarbonImmutable setSecond(int $value) Set current instance second to the given value.
174 * @method CarbonImmutable millis(int $value) Set current instance millisecond to the given value.
175 * @method CarbonImmutable milli(int $value) Set current instance millisecond to the given value.
176 * @method CarbonImmutable setMillis(int $value) Set current instance millisecond to the given value.
177 * @method CarbonImmutable setMilli(int $value) Set current instance millisecond to the given value.
178 * @method CarbonImmutable milliseconds(int $value) Set current instance millisecond to the given value.
179 * @method CarbonImmutable millisecond(int $value) Set current instance millisecond to the given value.
180 * @method CarbonImmutable setMilliseconds(int $value) Set current instance millisecond to the given value.
181 * @method CarbonImmutable setMillisecond(int $value) Set current instance millisecond to the given value.
182 * @method CarbonImmutable micros(int $value) Set current instance microsecond to the given value.
183 * @method CarbonImmutable micro(int $value) Set current instance microsecond to the given value.
184 * @method CarbonImmutable setMicros(int $value) Set current instance microsecond to the given value.
185 * @method CarbonImmutable setMicro(int $value) Set current instance microsecond to the given value.
186 * @method CarbonImmutable microseconds(int $value) Set current instance microsecond to the given value.
187 * @method CarbonImmutable microsecond(int $value) Set current instance microsecond to the given value.
188 * @method CarbonImmutable setMicroseconds(int $value) Set current instance microsecond to the given value.
189 * @method CarbonImmutable setMicrosecond(int $value) Set current instance microsecond to the given value.
190 * @method CarbonImmutable addYears(int $value = 1) Add years (the $value count passed in) to the instance (using date interval).
191 * @method CarbonImmutable addYear() Add one year to the instance (using date interval).
192 * @method CarbonImmutable subYears(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval).
193 * @method CarbonImmutable subYear() Sub one year to the instance (using date interval).
194 * @method CarbonImmutable addYearsWithOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
195 * @method CarbonImmutable addYearWithOverflow() Add one year to the instance (using date interval) with overflow explicitly allowed.
196 * @method CarbonImmutable subYearsWithOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
197 * @method CarbonImmutable subYearWithOverflow() Sub one year to the instance (using date interval) with overflow explicitly allowed.
198 * @method CarbonImmutable addYearsWithoutOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
199 * @method CarbonImmutable addYearWithoutOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden.
200 * @method CarbonImmutable subYearsWithoutOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
201 * @method CarbonImmutable subYearWithoutOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden.
202 * @method CarbonImmutable addYearsWithNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
203 * @method CarbonImmutable addYearWithNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden.
204 * @method CarbonImmutable subYearsWithNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
205 * @method CarbonImmutable subYearWithNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden.
206 * @method CarbonImmutable addYearsNoOverflow(int $value = 1) Add years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
207 * @method CarbonImmutable addYearNoOverflow() Add one year to the instance (using date interval) with overflow explicitly forbidden.
208 * @method CarbonImmutable subYearsNoOverflow(int $value = 1) Sub years (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
209 * @method CarbonImmutable subYearNoOverflow() Sub one year to the instance (using date interval) with overflow explicitly forbidden.
210 * @method CarbonImmutable addMonths(int $value = 1) Add months (the $value count passed in) to the instance (using date interval).
211 * @method CarbonImmutable addMonth() Add one month to the instance (using date interval).
212 * @method CarbonImmutable subMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval).
213 * @method CarbonImmutable subMonth() Sub one month to the instance (using date interval).
214 * @method CarbonImmutable addMonthsWithOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
215 * @method CarbonImmutable addMonthWithOverflow() Add one month to the instance (using date interval) with overflow explicitly allowed.
216 * @method CarbonImmutable subMonthsWithOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
217 * @method CarbonImmutable subMonthWithOverflow() Sub one month to the instance (using date interval) with overflow explicitly allowed.
218 * @method CarbonImmutable addMonthsWithoutOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
219 * @method CarbonImmutable addMonthWithoutOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden.
220 * @method CarbonImmutable subMonthsWithoutOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
221 * @method CarbonImmutable subMonthWithoutOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden.
222 * @method CarbonImmutable addMonthsWithNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
223 * @method CarbonImmutable addMonthWithNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden.
224 * @method CarbonImmutable subMonthsWithNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
225 * @method CarbonImmutable subMonthWithNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden.
226 * @method CarbonImmutable addMonthsNoOverflow(int $value = 1) Add months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
227 * @method CarbonImmutable addMonthNoOverflow() Add one month to the instance (using date interval) with overflow explicitly forbidden.
228 * @method CarbonImmutable subMonthsNoOverflow(int $value = 1) Sub months (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
229 * @method CarbonImmutable subMonthNoOverflow() Sub one month to the instance (using date interval) with overflow explicitly forbidden.
230 * @method CarbonImmutable addDays(int $value = 1) Add days (the $value count passed in) to the instance (using date interval).
231 * @method CarbonImmutable addDay() Add one day to the instance (using date interval).
232 * @method CarbonImmutable subDays(int $value = 1) Sub days (the $value count passed in) to the instance (using date interval).
233 * @method CarbonImmutable subDay() Sub one day to the instance (using date interval).
234 * @method CarbonImmutable addHours(int $value = 1) Add hours (the $value count passed in) to the instance (using date interval).
235 * @method CarbonImmutable addHour() Add one hour to the instance (using date interval).
236 * @method CarbonImmutable subHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using date interval).
237 * @method CarbonImmutable subHour() Sub one hour to the instance (using date interval).
238 * @method CarbonImmutable addMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using date interval).
239 * @method CarbonImmutable addMinute() Add one minute to the instance (using date interval).
240 * @method CarbonImmutable subMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using date interval).
241 * @method CarbonImmutable subMinute() Sub one minute to the instance (using date interval).
242 * @method CarbonImmutable addSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using date interval).
243 * @method CarbonImmutable addSecond() Add one second to the instance (using date interval).
244 * @method CarbonImmutable subSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using date interval).
245 * @method CarbonImmutable subSecond() Sub one second to the instance (using date interval).
246 * @method CarbonImmutable addMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval).
247 * @method CarbonImmutable addMilli() Add one millisecond to the instance (using date interval).
248 * @method CarbonImmutable subMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval).
249 * @method CarbonImmutable subMilli() Sub one millisecond to the instance (using date interval).
250 * @method CarbonImmutable addMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using date interval).
251 * @method CarbonImmutable addMillisecond() Add one millisecond to the instance (using date interval).
252 * @method CarbonImmutable subMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using date interval).
253 * @method CarbonImmutable subMillisecond() Sub one millisecond to the instance (using date interval).
254 * @method CarbonImmutable addMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval).
255 * @method CarbonImmutable addMicro() Add one microsecond to the instance (using date interval).
256 * @method CarbonImmutable subMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval).
257 * @method CarbonImmutable subMicro() Sub one microsecond to the instance (using date interval).
258 * @method CarbonImmutable addMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using date interval).
259 * @method CarbonImmutable addMicrosecond() Add one microsecond to the instance (using date interval).
260 * @method CarbonImmutable subMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using date interval).
261 * @method CarbonImmutable subMicrosecond() Sub one microsecond to the instance (using date interval).
262 * @method CarbonImmutable addMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval).
263 * @method CarbonImmutable addMillennium() Add one millennium to the instance (using date interval).
264 * @method CarbonImmutable subMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval).
265 * @method CarbonImmutable subMillennium() Sub one millennium to the instance (using date interval).
266 * @method CarbonImmutable addMillenniaWithOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
267 * @method CarbonImmutable addMillenniumWithOverflow() Add one millennium to the instance (using date interval) with overflow explicitly allowed.
268 * @method CarbonImmutable subMillenniaWithOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
269 * @method CarbonImmutable subMillenniumWithOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly allowed.
270 * @method CarbonImmutable addMillenniaWithoutOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
271 * @method CarbonImmutable addMillenniumWithoutOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
272 * @method CarbonImmutable subMillenniaWithoutOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
273 * @method CarbonImmutable subMillenniumWithoutOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
274 * @method CarbonImmutable addMillenniaWithNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
275 * @method CarbonImmutable addMillenniumWithNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
276 * @method CarbonImmutable subMillenniaWithNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
277 * @method CarbonImmutable subMillenniumWithNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
278 * @method CarbonImmutable addMillenniaNoOverflow(int $value = 1) Add millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
279 * @method CarbonImmutable addMillenniumNoOverflow() Add one millennium to the instance (using date interval) with overflow explicitly forbidden.
280 * @method CarbonImmutable subMillenniaNoOverflow(int $value = 1) Sub millennia (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
281 * @method CarbonImmutable subMillenniumNoOverflow() Sub one millennium to the instance (using date interval) with overflow explicitly forbidden.
282 * @method CarbonImmutable addCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval).
283 * @method CarbonImmutable addCentury() Add one century to the instance (using date interval).
284 * @method CarbonImmutable subCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval).
285 * @method CarbonImmutable subCentury() Sub one century to the instance (using date interval).
286 * @method CarbonImmutable addCenturiesWithOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
287 * @method CarbonImmutable addCenturyWithOverflow() Add one century to the instance (using date interval) with overflow explicitly allowed.
288 * @method CarbonImmutable subCenturiesWithOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
289 * @method CarbonImmutable subCenturyWithOverflow() Sub one century to the instance (using date interval) with overflow explicitly allowed.
290 * @method CarbonImmutable addCenturiesWithoutOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
291 * @method CarbonImmutable addCenturyWithoutOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden.
292 * @method CarbonImmutable subCenturiesWithoutOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
293 * @method CarbonImmutable subCenturyWithoutOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden.
294 * @method CarbonImmutable addCenturiesWithNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
295 * @method CarbonImmutable addCenturyWithNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden.
296 * @method CarbonImmutable subCenturiesWithNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
297 * @method CarbonImmutable subCenturyWithNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden.
298 * @method CarbonImmutable addCenturiesNoOverflow(int $value = 1) Add centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
299 * @method CarbonImmutable addCenturyNoOverflow() Add one century to the instance (using date interval) with overflow explicitly forbidden.
300 * @method CarbonImmutable subCenturiesNoOverflow(int $value = 1) Sub centuries (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
301 * @method CarbonImmutable subCenturyNoOverflow() Sub one century to the instance (using date interval) with overflow explicitly forbidden.
302 * @method CarbonImmutable addDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval).
303 * @method CarbonImmutable addDecade() Add one decade to the instance (using date interval).
304 * @method CarbonImmutable subDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval).
305 * @method CarbonImmutable subDecade() Sub one decade to the instance (using date interval).
306 * @method CarbonImmutable addDecadesWithOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
307 * @method CarbonImmutable addDecadeWithOverflow() Add one decade to the instance (using date interval) with overflow explicitly allowed.
308 * @method CarbonImmutable subDecadesWithOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
309 * @method CarbonImmutable subDecadeWithOverflow() Sub one decade to the instance (using date interval) with overflow explicitly allowed.
310 * @method CarbonImmutable addDecadesWithoutOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
311 * @method CarbonImmutable addDecadeWithoutOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden.
312 * @method CarbonImmutable subDecadesWithoutOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
313 * @method CarbonImmutable subDecadeWithoutOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
314 * @method CarbonImmutable addDecadesWithNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
315 * @method CarbonImmutable addDecadeWithNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden.
316 * @method CarbonImmutable subDecadesWithNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
317 * @method CarbonImmutable subDecadeWithNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
318 * @method CarbonImmutable addDecadesNoOverflow(int $value = 1) Add decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
319 * @method CarbonImmutable addDecadeNoOverflow() Add one decade to the instance (using date interval) with overflow explicitly forbidden.
320 * @method CarbonImmutable subDecadesNoOverflow(int $value = 1) Sub decades (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
321 * @method CarbonImmutable subDecadeNoOverflow() Sub one decade to the instance (using date interval) with overflow explicitly forbidden.
322 * @method CarbonImmutable addQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval).
323 * @method CarbonImmutable addQuarter() Add one quarter to the instance (using date interval).
324 * @method CarbonImmutable subQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval).
325 * @method CarbonImmutable subQuarter() Sub one quarter to the instance (using date interval).
326 * @method CarbonImmutable addQuartersWithOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
327 * @method CarbonImmutable addQuarterWithOverflow() Add one quarter to the instance (using date interval) with overflow explicitly allowed.
328 * @method CarbonImmutable subQuartersWithOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly allowed.
329 * @method CarbonImmutable subQuarterWithOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly allowed.
330 * @method CarbonImmutable addQuartersWithoutOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
331 * @method CarbonImmutable addQuarterWithoutOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
332 * @method CarbonImmutable subQuartersWithoutOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
333 * @method CarbonImmutable subQuarterWithoutOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
334 * @method CarbonImmutable addQuartersWithNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
335 * @method CarbonImmutable addQuarterWithNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
336 * @method CarbonImmutable subQuartersWithNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
337 * @method CarbonImmutable subQuarterWithNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
338 * @method CarbonImmutable addQuartersNoOverflow(int $value = 1) Add quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
339 * @method CarbonImmutable addQuarterNoOverflow() Add one quarter to the instance (using date interval) with overflow explicitly forbidden.
340 * @method CarbonImmutable subQuartersNoOverflow(int $value = 1) Sub quarters (the $value count passed in) to the instance (using date interval) with overflow explicitly forbidden.
341 * @method CarbonImmutable subQuarterNoOverflow() Sub one quarter to the instance (using date interval) with overflow explicitly forbidden.
342 * @method CarbonImmutable addWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using date interval).
343 * @method CarbonImmutable addWeek() Add one week to the instance (using date interval).
344 * @method CarbonImmutable subWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using date interval).
345 * @method CarbonImmutable subWeek() Sub one week to the instance (using date interval).
346 * @method CarbonImmutable addWeekdays(int $value = 1) Add weekdays (the $value count passed in) to the instance (using date interval).
347 * @method CarbonImmutable addWeekday() Add one weekday to the instance (using date interval).
348 * @method CarbonImmutable subWeekdays(int $value = 1) Sub weekdays (the $value count passed in) to the instance (using date interval).
349 * @method CarbonImmutable subWeekday() Sub one weekday to the instance (using date interval).
350 * @method CarbonImmutable addRealMicros(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp).
351 * @method CarbonImmutable addRealMicro() Add one microsecond to the instance (using timestamp).
352 * @method CarbonImmutable subRealMicros(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp).
353 * @method CarbonImmutable 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 CarbonImmutable addRealMicroseconds(int $value = 1) Add microseconds (the $value count passed in) to the instance (using timestamp).
356 * @method CarbonImmutable addRealMicrosecond() Add one microsecond to the instance (using timestamp).
357 * @method CarbonImmutable subRealMicroseconds(int $value = 1) Sub microseconds (the $value count passed in) to the instance (using timestamp).
358 * @method CarbonImmutable 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 CarbonImmutable addRealMillis(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp).
361 * @method CarbonImmutable addRealMilli() Add one millisecond to the instance (using timestamp).
362 * @method CarbonImmutable subRealMillis(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp).
363 * @method CarbonImmutable 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 CarbonImmutable addRealMilliseconds(int $value = 1) Add milliseconds (the $value count passed in) to the instance (using timestamp).
366 * @method CarbonImmutable addRealMillisecond() Add one millisecond to the instance (using timestamp).
367 * @method CarbonImmutable subRealMilliseconds(int $value = 1) Sub milliseconds (the $value count passed in) to the instance (using timestamp).
368 * @method CarbonImmutable 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 CarbonImmutable addRealSeconds(int $value = 1) Add seconds (the $value count passed in) to the instance (using timestamp).
371 * @method CarbonImmutable addRealSecond() Add one second to the instance (using timestamp).
372 * @method CarbonImmutable subRealSeconds(int $value = 1) Sub seconds (the $value count passed in) to the instance (using timestamp).
373 * @method CarbonImmutable 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 CarbonImmutable addRealMinutes(int $value = 1) Add minutes (the $value count passed in) to the instance (using timestamp).
376 * @method CarbonImmutable addRealMinute() Add one minute to the instance (using timestamp).
377 * @method CarbonImmutable subRealMinutes(int $value = 1) Sub minutes (the $value count passed in) to the instance (using timestamp).
378 * @method CarbonImmutable 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 CarbonImmutable addRealHours(int $value = 1) Add hours (the $value count passed in) to the instance (using timestamp).
381 * @method CarbonImmutable addRealHour() Add one hour to the instance (using timestamp).
382 * @method CarbonImmutable subRealHours(int $value = 1) Sub hours (the $value count passed in) to the instance (using timestamp).
383 * @method CarbonImmutable 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 CarbonImmutable addRealDays(int $value = 1) Add days (the $value count passed in) to the instance (using timestamp).
386 * @method CarbonImmutable addRealDay() Add one day to the instance (using timestamp).
387 * @method CarbonImmutable subRealDays(int $value = 1) Sub days (the $value count passed in) to the instance (using timestamp).
388 * @method CarbonImmutable 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 CarbonImmutable addRealWeeks(int $value = 1) Add weeks (the $value count passed in) to the instance (using timestamp).
391 * @method CarbonImmutable addRealWeek() Add one week to the instance (using timestamp).
392 * @method CarbonImmutable subRealWeeks(int $value = 1) Sub weeks (the $value count passed in) to the instance (using timestamp).
393 * @method CarbonImmutable 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 CarbonImmutable addRealMonths(int $value = 1) Add months (the $value count passed in) to the instance (using timestamp).
396 * @method CarbonImmutable addRealMonth() Add one month to the instance (using timestamp).
397 * @method CarbonImmutable subRealMonths(int $value = 1) Sub months (the $value count passed in) to the instance (using timestamp).
398 * @method CarbonImmutable 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 CarbonImmutable addRealQuarters(int $value = 1) Add quarters (the $value count passed in) to the instance (using timestamp).
401 * @method CarbonImmutable addRealQuarter() Add one quarter to the instance (using timestamp).
402 * @method CarbonImmutable subRealQuarters(int $value = 1) Sub quarters (the $value count passed in) to the instance (using timestamp).
403 * @method CarbonImmutable 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 CarbonImmutable addRealYears(int $value = 1) Add years (the $value count passed in) to the instance (using timestamp).
406 * @method CarbonImmutable addRealYear() Add one year to the instance (using timestamp).
407 * @method CarbonImmutable subRealYears(int $value = 1) Sub years (the $value count passed in) to the instance (using timestamp).
408 * @method CarbonImmutable 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 CarbonImmutable addRealDecades(int $value = 1) Add decades (the $value count passed in) to the instance (using timestamp).
411 * @method CarbonImmutable addRealDecade() Add one decade to the instance (using timestamp).
412 * @method CarbonImmutable subRealDecades(int $value = 1) Sub decades (the $value count passed in) to the instance (using timestamp).
413 * @method CarbonImmutable 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 CarbonImmutable addRealCenturies(int $value = 1) Add centuries (the $value count passed in) to the instance (using timestamp).
416 * @method CarbonImmutable addRealCentury() Add one century to the instance (using timestamp).
417 * @method CarbonImmutable subRealCenturies(int $value = 1) Sub centuries (the $value count passed in) to the instance (using timestamp).
418 * @method CarbonImmutable 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 CarbonImmutable addRealMillennia(int $value = 1) Add millennia (the $value count passed in) to the instance (using timestamp).
421 * @method CarbonImmutable addRealMillennium() Add one millennium to the instance (using timestamp).
422 * @method CarbonImmutable subRealMillennia(int $value = 1) Sub millennia (the $value count passed in) to the instance (using timestamp).
423 * @method CarbonImmutable 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 CarbonImmutable roundYear(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
426 * @method CarbonImmutable roundYears(float $precision = 1, string $function = "round") Round the current instance year with given precision using the given function.
427 * @method CarbonImmutable floorYear(float $precision = 1) Truncate the current instance year with given precision.
428 * @method CarbonImmutable floorYears(float $precision = 1) Truncate the current instance year with given precision.
429 * @method CarbonImmutable ceilYear(float $precision = 1) Ceil the current instance year with given precision.
430 * @method CarbonImmutable ceilYears(float $precision = 1) Ceil the current instance year with given precision.
431 * @method CarbonImmutable roundMonth(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
432 * @method CarbonImmutable roundMonths(float $precision = 1, string $function = "round") Round the current instance month with given precision using the given function.
433 * @method CarbonImmutable floorMonth(float $precision = 1) Truncate the current instance month with given precision.
434 * @method CarbonImmutable floorMonths(float $precision = 1) Truncate the current instance month with given precision.
435 * @method CarbonImmutable ceilMonth(float $precision = 1) Ceil the current instance month with given precision.
436 * @method CarbonImmutable ceilMonths(float $precision = 1) Ceil the current instance month with given precision.
437 * @method CarbonImmutable roundDay(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
438 * @method CarbonImmutable roundDays(float $precision = 1, string $function = "round") Round the current instance day with given precision using the given function.
439 * @method CarbonImmutable floorDay(float $precision = 1) Truncate the current instance day with given precision.
440 * @method CarbonImmutable floorDays(float $precision = 1) Truncate the current instance day with given precision.
441 * @method CarbonImmutable ceilDay(float $precision = 1) Ceil the current instance day with given precision.
442 * @method CarbonImmutable ceilDays(float $precision = 1) Ceil the current instance day with given precision.
443 * @method CarbonImmutable roundHour(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
444 * @method CarbonImmutable roundHours(float $precision = 1, string $function = "round") Round the current instance hour with given precision using the given function.
445 * @method CarbonImmutable floorHour(float $precision = 1) Truncate the current instance hour with given precision.
446 * @method CarbonImmutable floorHours(float $precision = 1) Truncate the current instance hour with given precision.
447 * @method CarbonImmutable ceilHour(float $precision = 1) Ceil the current instance hour with given precision.
448 * @method CarbonImmutable ceilHours(float $precision = 1) Ceil the current instance hour with given precision.
449 * @method CarbonImmutable roundMinute(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
450 * @method CarbonImmutable roundMinutes(float $precision = 1, string $function = "round") Round the current instance minute with given precision using the given function.
451 * @method CarbonImmutable floorMinute(float $precision = 1) Truncate the current instance minute with given precision.
452 * @method CarbonImmutable floorMinutes(float $precision = 1) Truncate the current instance minute with given precision.
453 * @method CarbonImmutable ceilMinute(float $precision = 1) Ceil the current instance minute with given precision.
454 * @method CarbonImmutable ceilMinutes(float $precision = 1) Ceil the current instance minute with given precision.
455 * @method CarbonImmutable roundSecond(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
456 * @method CarbonImmutable roundSeconds(float $precision = 1, string $function = "round") Round the current instance second with given precision using the given function.
457 * @method CarbonImmutable floorSecond(float $precision = 1) Truncate the current instance second with given precision.
458 * @method CarbonImmutable floorSeconds(float $precision = 1) Truncate the current instance second with given precision.
459 * @method CarbonImmutable ceilSecond(float $precision = 1) Ceil the current instance second with given precision.
460 * @method CarbonImmutable ceilSeconds(float $precision = 1) Ceil the current instance second with given precision.
461 * @method CarbonImmutable roundMillennium(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
462 * @method CarbonImmutable roundMillennia(float $precision = 1, string $function = "round") Round the current instance millennium with given precision using the given function.
463 * @method CarbonImmutable floorMillennium(float $precision = 1) Truncate the current instance millennium with given precision.
464 * @method CarbonImmutable floorMillennia(float $precision = 1) Truncate the current instance millennium with given precision.
465 * @method CarbonImmutable ceilMillennium(float $precision = 1) Ceil the current instance millennium with given precision.
466 * @method CarbonImmutable ceilMillennia(float $precision = 1) Ceil the current instance millennium with given precision.
467 * @method CarbonImmutable roundCentury(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
468 * @method CarbonImmutable roundCenturies(float $precision = 1, string $function = "round") Round the current instance century with given precision using the given function.
469 * @method CarbonImmutable floorCentury(float $precision = 1) Truncate the current instance century with given precision.
470 * @method CarbonImmutable floorCenturies(float $precision = 1) Truncate the current instance century with given precision.
471 * @method CarbonImmutable ceilCentury(float $precision = 1) Ceil the current instance century with given precision.
472 * @method CarbonImmutable ceilCenturies(float $precision = 1) Ceil the current instance century with given precision.
473 * @method CarbonImmutable roundDecade(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
474 * @method CarbonImmutable roundDecades(float $precision = 1, string $function = "round") Round the current instance decade with given precision using the given function.
475 * @method CarbonImmutable floorDecade(float $precision = 1) Truncate the current instance decade with given precision.
476 * @method CarbonImmutable floorDecades(float $precision = 1) Truncate the current instance decade with given precision.
477 * @method CarbonImmutable ceilDecade(float $precision = 1) Ceil the current instance decade with given precision.
478 * @method CarbonImmutable ceilDecades(float $precision = 1) Ceil the current instance decade with given precision.
479 * @method CarbonImmutable roundQuarter(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
480 * @method CarbonImmutable roundQuarters(float $precision = 1, string $function = "round") Round the current instance quarter with given precision using the given function.
481 * @method CarbonImmutable floorQuarter(float $precision = 1) Truncate the current instance quarter with given precision.
482 * @method CarbonImmutable floorQuarters(float $precision = 1) Truncate the current instance quarter with given precision.
483 * @method CarbonImmutable ceilQuarter(float $precision = 1) Ceil the current instance quarter with given precision.
484 * @method CarbonImmutable ceilQuarters(float $precision = 1) Ceil the current instance quarter with given precision.
485 * @method CarbonImmutable roundMillisecond(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
486 * @method CarbonImmutable roundMilliseconds(float $precision = 1, string $function = "round") Round the current instance millisecond with given precision using the given function.
487 * @method CarbonImmutable floorMillisecond(float $precision = 1) Truncate the current instance millisecond with given precision.
488 * @method CarbonImmutable floorMilliseconds(float $precision = 1) Truncate the current instance millisecond with given precision.
489 * @method CarbonImmutable ceilMillisecond(float $precision = 1) Ceil the current instance millisecond with given precision.
490 * @method CarbonImmutable ceilMilliseconds(float $precision = 1) Ceil the current instance millisecond with given precision.
491 * @method CarbonImmutable roundMicrosecond(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
492 * @method CarbonImmutable roundMicroseconds(float $precision = 1, string $function = "round") Round the current instance microsecond with given precision using the given function.
493 * @method CarbonImmutable floorMicrosecond(float $precision = 1) Truncate the current instance microsecond with given precision.
494 * @method CarbonImmutable floorMicroseconds(float $precision = 1) Truncate the current instance microsecond with given precision.
495 * @method CarbonImmutable ceilMicrosecond(float $precision = 1) Ceil the current instance microsecond with given precision.
496 * @method CarbonImmutable 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 CarbonImmutable|false createFromFormat(string $format, string $time, string|DateTimeZone $timezone = null) Parse a string into a new CarbonImmutable object according to the specified format.
506 * @method static CarbonImmutable __set_state(array $array) https://php.net/manual/en/datetime.set-state.php
507 *
508 * </autodoc>
509 */
510class CarbonImmutable extends DateTimeImmutable implements CarbonInterface
511{
512 use Date {
513 __clone as dateTraitClone;
514 }
515
516 public function __clone()
517 {
518 $this->dateTraitClone();
519 $this->endOfTime = false;
520 $this->startOfTime = false;
521 }
522
523 /**
524 * Create a very old date representing start of time.
525 *
526 * @return static
527 */
528 public static function startOfTime(): self
529 {
530 $date = static::parse('0001-01-01')->years(self::getStartOfTimeYear());
531 $date->startOfTime = true;
532
533 return $date;
534 }
535
536 /**
537 * Create a very far date representing end of time.
538 *
539 * @return static
540 */
541 public static function endOfTime(): self
542 {
543 $date = static::parse('9999-12-31 23:59:59.999999')->years(self::getEndOfTimeYear());
544 $date->endOfTime = true;
545
546 return $date;
547 }
548
549 /**
550 * @codeCoverageIgnore
551 */
552 private static function getEndOfTimeYear(): int
553 {
554 if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) {
555 return 145261681241552;
556 }
557
558 // Remove if https://bugs.php.net/bug.php?id=81107 is fixed
559 if (version_compare(PHP_VERSION, '8.1.0-dev', '>=')) {
560 return 1118290769066902787;
561 }
562
563 return PHP_INT_MAX;
564 }
565
566 /**
567 * @codeCoverageIgnore
568 */
569 private static function getStartOfTimeYear(): int
570 {
571 if (version_compare(PHP_VERSION, '7.3.0-dev', '<')) {
572 return -135908816449551;
573 }
574
575 // Remove if https://bugs.php.net/bug.php?id=81107 is fixed
576 if (version_compare(PHP_VERSION, '8.1.0-dev', '>=')) {
577 return -1118290769066898816;
578 }
579
580 return max(PHP_INT_MIN, -9223372036854773760);
581 }
582}