类 Chronos
对原生 DateTime 对象的不可变扩展。
添加了一些方便的 API 方法,以及轻松转换为可变对象的选项。
常量
-
int
DAYS_PER_WEEK ¶7
-
string
DEFAULT_TO_STRING_FORMAT ¶'Y-m-d H:i:s'
当类型转换发生时,用于 __toString 方法的默认格式。
-
int
FRIDAY ¶5
-
int
HOURS_PER_DAY ¶24
-
int
MINUTES_PER_HOUR ¶60
-
int
MONDAY ¶1
-
int
MONTHS_PER_QUARTER ¶3
-
int
MONTHS_PER_YEAR ¶12
-
int
SATURDAY ¶6
-
int
SECONDS_PER_MINUTE ¶60
-
int
SUNDAY ¶7
-
int
THURSDAY ¶4
-
int
TUESDAY ¶2
-
int
WEDNESDAY ¶3
-
int
WEEKS_PER_YEAR ¶52
-
int
YEARS_PER_CENTURY ¶100
-
int
YEARS_PER_DECADE ¶10
属性摘要
-
$age public @property-read
int
使用默认参数执行 diffInYears()
-
$day public @property-read
int<1, 31>
-
$dayOfWeek public @property-read
int<1, 7>
1(星期一)到 7(星期日)
-
$dayOfYear public @property-read
int<0, 365>
0 到 365
-
$days protected static
array
一周中各天的名称。
-
$daysInMonth public @property-read
int<1, 31>
给定月份的天数
-
$diffFormatter protected static
Cake\Chronos\DifferenceFormatterInterface|null
差异格式化对象的实例。
-
$dst public @property-read
bool
夏令时指示器,如果为夏令时,则为 true,否则为 false
-
$half public @property-read
int<1, 2>
一年中的半部分,1 代表 1 月到 6 月,2 代表 7 月到 12 月。
-
$hour public @property-read
int<0, 23>
-
$lastErrors protected static
array|false
上次调用 createFromFormat() 时的错误。
-
$local public @property-read
bool
检查时区是否为本地时区,如果为本地时区,则为 true,否则为 false
-
$micro public @property-read
int<0, 999999>
-
$microsecond public @property-read
int<0, 999999>
-
$minute public @property-read
int<0, 59>
-
$month public @property-read
int<1, 12>
-
$offset public @property-read
int
相对于 UTC 的时区偏移量(以秒为单位)
-
$offsetHours public @property-read
int
相对于 UTC 的时区偏移量(以小时为单位)
-
$quarter public @property-read
int<1, 4>
此实例的季度,1 - 4
-
$relativePattern protected static
string
相对时期的正则表达式。
-
$second public @property-read
int<0, 59>
-
$testNow protected static
Cake\Chronos\Chronos|null
在创建 now 实例时返回的测试 Chronos 实例
-
$timestamp public @property-read
int
自 Unix 纪元以来的秒数
-
$timezone public @property-read
DateTimeZone
当前时区
-
$timezoneName public @property-read
string
-
$toStringFormat protected static
string
当类型转换发生时,用于 __toString 方法的格式。
-
$tz public @property-read
DateTimeZone
时区的别名
-
$tzName public @property-read
string
-
$utc public @property-read
bool
检查时区是否为 UTC,如果为 UTC,则为 true,否则为 false
-
$weekEndsAt protected static
int
一周的最后一天
-
$weekOfMonth public @property-read
int<1, 5>
1 到 5
-
$weekOfYear public @property-read
int<1, 53>
ISO-8601 年份中的周数,周从星期一开始
-
$weekStartsAt protected static
int
一周的第一天
-
$weekendDays protected static
array
周末日期
-
$year public @property-read
int
-
$yearIso public @property-read
int
方法概要
-
__construct() public
创建一个新的 Chronos 实例。
-
__debugInfo() public
返回用于调试的属性。
-
__get() public
获取对象的一部分
-
__isset() public
检查对象上是否存在属性
-
__toString() public
返回由
setToStringFormat()
指定的格式化字符串或默认的DEFAULT_TO_STRING_FORMAT
格式。 -
addDays() public
在实例中添加天数。正数 $value 向前移动,负数 $value 向后移动。
-
addHours() public
在实例中添加小时。正数 $value 向前移动,负数 $value 向后移动。
-
addMinutes() public
在实例中添加分钟。正数 $value 向前移动,负数 $value 向后移动。
-
addMonths() public
在实例中添加月份。正数 $value 向前移动,负数 $value 向后移动。
-
addMonthsWithOverflow() public
在实例中添加带有溢出的月份。正数 $value 向前移动,负数 $value 向后移动。
-
addSeconds() public
在实例中添加秒数。正数 $value 向前移动,负数 $value 向后移动。
-
addWeekdays() public
在实例中添加工作日。正数 $value 向前移动,负数 $value 向后移动。
-
addWeeks() public
在实例中添加星期。正数 $value 向前移动,负数 $value 向后移动。
-
addYears() public
在实例中添加年份。正数 $value 向前移动,负数 $value 向后移动。
-
addYearsWithOverflow() public
在实例中添加带有溢出的年份。正数 $value 向前移动,负数 $value 向后移动。
-
average() public
将当前实例修改为给定实例(默认情况下为当前实例)和当前实例的平均值。
-
between() public
确定实例是否在另外两个实例之间
-
closest() public
从实例中获取最接近的日期。
-
create() public static
从特定的日期和时间创建一个实例。
-
createFromArray() public static
从日期和时间值的数组创建一个实例。
-
createFromDate() public static
仅从日期创建一个实例。时间部分设置为现在。
-
createFromFormat() public static
从特定格式创建一个实例
-
createFromTime() public static
仅从时间创建一个实例。日期部分设置为今天。
-
createFromTimestamp() public static
从时间戳创建一个实例
-
createInterval() public static
从指定的值创建一个新的 DateInterval 实例。
-
day() public
设置实例的日期
-
diff() public
返回此实例与目标实例之间的差异。
-
diffFiltered() public
使用过滤器可调用函数获取给定间隔的差异
-
diffForHumans() public
获取人类可读格式的差异。
-
diffFormatter() public static
获取差异格式化程序实例或覆盖当前实例。
-
diffInDays() public
获取天数差异
-
diffInDaysFiltered() public
使用过滤器可调用函数获取天数差异
-
diffInHours() public
获取小时差异
-
diffInHoursFiltered() public
使用过滤器可调用函数获取小时差异
-
diffInMinutes() public
获取分钟差异
-
diffInMonths() public
获取月份差异
-
diffInMonthsIgnoreTimezone() public
获取忽略时区的月份差异。这意味着月份是在指定的时区中计算的,没有先转换为 UTC。这可以防止日期更改,因为这可能会更改月份。
-
diffInSeconds() public
获取秒数差异
-
diffInWeekdays() public
获取工作日差异
-
diffInWeekendDays() public
使用过滤器获取周末日期差异
-
diffInWeeks() public
获取星期差异
-
diffInYears() public
获取年份差异
-
endOfCentury() public
将日期设置为世纪末,时间设置为 23:59:59
-
endOfDay() public
将时间设置为 23:59:59 或 23:59:59.999999(如果
$microseconds
为真)。 -
endOfDecade() public
将日期设置为十年末,时间设置为 23:59:59
-
endOfMonth() public
将日期设置为月底,时间设置为 23:59:59
-
endOfWeek() public
将日期设置为周末(在 $weekEndsAt 中定义),时间设置为 23:59:59
-
endOfYear() public
将日期设置为年底,时间设置为 23:59:59
-
equals() public
确定实例是否等于另一个实例
-
farthest() public
从实例中获取最远的日期。
-
firstOfMonth() public
修改为当前月中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前月的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
firstOfQuarter() public
修改为当前季度中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前季度的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
firstOfYear() public
修改为当前年份中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前年份的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
format() public
根据 DateTimeImmutable::format() 返回格式化的日期字符串。
-
fromNow() public static
用于获取给定时间剩余时间的便捷方法。
-
getLastErrors() public static
返回上次
createFromFormat()
调用时的解析警告和错误。 -
getOffset() public
返回时区偏移量。
-
getTestNow() public static
获取在创建“现在”实例时要返回的 Chronos 实例(真实或模拟)。
-
getTimestamp() public
获取此实例的 Unix 时间戳。
-
getTimezone() public
返回为此实例设置的时区。
-
getWeekEndsAt() public static
获取一周的最后一天
-
getWeekStartsAt() public static
获取一周的第一天
-
getWeekendDays() public static
获取周末日期
-
greaterThan() public
确定实例是否大于(晚于)另一个实例
-
greaterThanOrEquals() public
确定实例是否大于(晚于)或等于另一个实例
-
hasRelativeKeywords() public static
确定时间字符串中是否存在相对关键字,这用于为测试实例创建相对于现在的日期。例如:下周二
-
hasTestNow() public static
确定是否设置了有效的测试实例。有效的测试实例是任何不为空的值。
-
hour() public
设置实例的小时
-
instance() public static
从 DateTimeInterface 创建一个实例
-
isBirthday() public
检查是否为生日。比较两个日期的日期/月份值。
-
isFirstHalf() public
确定实例是否在今年的前半年
-
isFriday() public
检查这一天是否为星期五。
-
isFuture() public
确定实例是否在将来,即大于(晚于)现在
-
isLastMonth() public
确定实例是否在上个月内
-
isLastWeek() public
确定实例是否在上周内
-
isLastYear() public
确定实例是否在去年内
-
isLeapYear() public
确定实例是否为闰年
-
isMonday() public
检查这一天是否为星期一。
-
isNextMonth() public
确定实例是否在下个月内
-
isNextWeek() public
确定实例是否在下周内
-
isNextYear() public
确定实例是否在明年内
-
isPast() public
确定实例是否在过去,即小于(早于)现在
-
isSameDay() public
检查传入的日期是否与实例的当前日期相同。
-
isSameMonth() public
返回传入的日期是否与当前月份和年份相同。
-
isSameYear() public
返回传入的日期是否与当前年份相同。
-
isSaturday() public
检查这天是否为星期六。
-
isSecondHalf() public
判断实例是否在今年的后半年。
-
isSunday() public
检查这天是否为星期日。
-
isThisMonth() public
如果此对象表示当前月份内的日期,则返回 true。
-
isThisWeek() public
如果此对象表示当前周内的日期,则返回 true。
-
isThisYear() public
如果此对象表示当前年份内的日期,则返回 true。
-
isThursday() public
检查这天是否为星期四。
-
isToday() public
判断实例是否为今天。
-
isTomorrow() public
判断实例是否为明天。
-
isTuesday() public
检查这天是否为星期二。
-
isWednesday() public
检查这天是否为星期三。
-
isWeekday() public
判断实例是否为工作日。
-
isWeekend() public
判断实例是否为周末。
-
isWithinNext() public
如果此实例将在指定的间隔内发生,则返回 true。
-
isYesterday() public
判断实例是否为昨天。
-
lastOfMonth() public
修改为当前月份中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前月份的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
lastOfQuarter() public
修改为当前季度中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前季度的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
lastOfYear() public
修改为当前年份中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前年份的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
lessThan() public
判断实例是否小于(早于)另一个实例。
-
lessThanOrEquals() public
判断实例是否小于(早于)或等于另一个实例。
-
max() public
获取给定实例(默认现在)和当前实例之间的最大实例。
-
maxValue() public static
为支持的最大日期创建实例。
-
microsecond() public
设置实例的微秒。
-
min() public
获取给定实例(默认现在)和当前实例之间的最小实例。
-
minValue() public static
为支持的最小日期创建实例。
-
minute() public
设置实例的分钟。
-
modify() public
根据 DateTimeImmutable::modifier() 创建一个新的修改日期的实例。
-
month() public
设置实例的月份。
-
next() public
修改为给定一周的下一天。如果未提供 dayOfWeek,则修改为当前一周的下一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
notEquals() public
判断实例是否不等于另一个实例。
-
now() public static
获取当前日期和时间的实例。
-
nthOfMonth() public
修改为当前月份中给定一周的给定天。如果计算出的天数超出当前月份的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
nthOfQuarter() public
修改为当前季度中给定一周的给定天。如果计算出的天数超出当前季度的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
nthOfYear() public
修改为当前年份中给定一周的给定天。如果计算出的天数超出当前年份的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
parse() public static
从字符串创建实例。这与构造函数的别名相同,它允许更好的流畅语法,因为它允许你执行 Chronos::parse('Monday next week')->fn() 而不是 (new Chronos('Monday next week'))->fn()
-
previous() public
修改为给定一周的先前一天。如果未提供 dayOfWeek,则修改为当前一周的先前一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
-
resetToStringFormat() public static
将 __toString() 格式重置为
DEFAULT_TO_STRING_FORMAT
。 -
rolloverTime() protected static
更新值以保留剩余值并返回时间单位的回滚值,如果无回滚则返回 null。
-
safeCreateDateTimeZone() protected static
从字符串或 DateTimeZone 创建 DateTimeZone。
-
second() public
设置实例的秒。
-
secondsSinceMidnight() public
从午夜开始的秒数。
-
secondsUntilEndOfDay() public
到 23:59:59 的秒数。
-
setDate() public
设置日期。
-
setDateTime() public
设置日期和时间。
-
setISODate() public
根据 ISO 8601 标准设置日期。
-
setTestNow() public static
设置一个 Chronos 实例(真实或模拟),以便在创建“现在”实例时返回。在以下情况下,将返回提供的实例。
- 调用静态 now() 方法,例如 Chronos::now()。
- 当向构造函数或 parse() 传递 null(或空字符串)时,例如 new Chronos(null)。
- 当向构造函数或 parse() 传递字符串“now”时,例如 new Chronos('now')。
- 当向 Chronos::parse() 传递包含所需时间的字符串时。
-
setTime() public
设置时间。
-
setTimeFromTimeString() public
通过时间字符串设置时间。
-
setTimestamp() public
根据 Unix 时间戳设置日期和时间。
-
setTimezone() public
从字符串或对象设置实例的时区。
-
setToStringFormat() public static
设置 __toString() 格式。
-
setWeekEndsAt() public static
设置一周的最后一天。
-
setWeekStartsAt() public static
设置一周的第一天。
-
setWeekendDays() public static
设置周末。
-
startOfCentury() public
将日期设置为世纪的第一天,并将时间设置为 00:00:00。
-
startOfDay() public
将时间设置为 00:00:00。
-
startOfDecade() public
将日期设置为十年的第一天,并将时间设置为 00:00:00。
-
startOfMonth() public
将日期设置为月份的第一天,并将时间设置为 00:00:00。
-
startOfWeek() public
将日期设置为一周的第一天(在 $weekStartsAt 中定义)并将时间设置为 00:00:00。
-
startOfYear() public
将日期设置为年份的第一天,并将时间设置为 00:00:00。
-
subDays() public
从实例中删除天数。
-
subHours() public
从实例中删除小时数。
-
subMinutes() public
从实例中删除分钟数。
-
subMonths() public
从实例中删除月份数。
-
subMonthsWithOverflow() public
在实例中添加带有溢出的月份。正数 $value 向前移动,负数 $value 向后移动。
-
subSeconds() public
从实例中移除秒数。
-
subWeekdays() public
从实例中移除工作日。
-
subWeeks() public
从实例中移除周数。
-
subYears() public
从实例中移除年数。
-
subYearsWithOverflow() public
从实例中移除年数,并允许溢出。
-
timestamp() public
设置实例的时间戳。
-
toAtomString() public
将实例格式化为 ATOM。
-
toCookieString() public
将实例格式化为 COOKIE。
-
toDateString() public
将实例格式化为日期。
-
toDateTimeString() public
将实例格式化为日期和时间。
-
toDayDateTimeString() public
将实例格式化为星期几、日期和时间。
-
toFormattedDateString() public
将实例格式化为可读日期。
-
toIso8601String() public
将实例格式化为 ISO8601。
-
toNative() public
返回一个 DateTimeImmutable 实例。
-
toQuarter() public
返回季度。
-
toRfc1036String() public
将实例格式化为 RFC1036。
-
toRfc1123String() public
将实例格式化为 RFC1123。
-
toRfc2822String() public
将实例格式化为 RFC2822。
-
toRfc3339String() public
将实例格式化为 RFC3339。
-
toRfc822String() public
将实例格式化为 RFC822。
-
toRfc850String() public
将实例格式化为 RFC850。
-
toRssString() public
将实例格式化为 RSS。
-
toTimeString() public
将实例格式化为时间。
-
toUnixString() public
返回一个 UNIX 时间戳。
-
toW3cString() public
将实例格式化为 W3C。
-
toWeek() public
返回 ISO 8601 年的周数,周从星期一开始计算。
-
today() public static
创建表示今天的实例。
-
tomorrow() public static
创建表示明天的实例。
-
wasWithinLast() public
如果该实例发生在指定的时间间隔内,则返回 true。
-
year() public
设置实例的年份。
-
yesterday() public static
创建表示昨天的实例。
方法详情
__construct() ¶ public
__construct(Cake\Chronos\ChronosDateCake\Chronos\ChronosTimeDateTimeInterface|string|int|null $time = 'now', DateTimeZone|string|null $timezone = null)
创建一个新的 Chronos 实例。
请参阅测试辅助部分(特别是 static::setTestNow())以了解有关此构造函数返回测试实例的可能性。
参数
-
Cake\Chronos\ChronosDateCake\Chronos\ChronosTimeDateTimeInterface|string|int|null
$time optional 固定或相对时间。
-
DateTimeZone|string|null
$timezone optional 实例的时区。
__get() ¶ public
__get(string $name): DateTimeZone|string|float|int|bool
获取对象的一部分
参数
-
string
$name 要读取的属性名称。
返回值
DateTimeZone|string|float|int|bool
抛出
InvalidArgumentException
__toString() ¶ public
__toString(): string
返回由 setToStringFormat()
指定的格式化字符串或默认的 DEFAULT_TO_STRING_FORMAT
格式。
返回值
string
addDays() ¶ public
addDays(int $value): static
在实例中添加天数。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的天数。
返回值
static
addHours() ¶ public
addHours(int $value): static
在实例中添加小时。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的小时数。
返回值
static
addMinutes() ¶ public
addMinutes(int $value): static
在实例中添加分钟。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的分钟数。
返回值
static
addMonths() ¶ public
addMonths(int $value): static
在实例中添加月份。正数 $value 向前移动,负数 $value 向后移动。
在添加或减去月份时,如果结果时间是日期不存在,则此操作的结果将始终是目标月份的最后一天。
示例
(new Chronos('2015-01-03'))->addMonths(1); // Results in 2015-02-03
(new Chronos('2015-01-31'))->addMonths(1); // Results in 2015-02-28
参数
-
int
$value 要添加的月份数。
返回值
static
addMonthsWithOverflow() ¶ public
addMonthsWithOverflow(int $value): static
在实例中添加带有溢出的月份。正数 $value 向前移动,负数 $value 向后移动。
如果新的 ChronosDate 不存在,则天数会溢出到下一个月。
示例
(new Chronos('2012-01-30'))->addMonthsWithOverflow(1); // Results in 2013-03-01
参数
-
int
$value 要添加的月份数。
返回值
static
addSeconds() ¶ public
addSeconds(int $value): static
在实例中添加秒数。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的秒数。
返回值
static
addWeekdays() ¶ public
addWeekdays(int $value): static
在实例中添加工作日。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的工作日数。
返回值
static
addWeeks() ¶ public
addWeeks(int $value): static
在实例中添加星期。正数 $value 向前移动,负数 $value 向后移动。
参数
-
int
$value 要添加的周数。
返回值
static
addYears() ¶ public
addYears(int $value): static
在实例中添加年份。正数 $value 向前移动,负数 $value 向后移动。
如果新的 ChronosDate 不存在,则会使用该月的最后一天,而不是溢出到下一个月。
示例
(new Chronos('2015-01-03'))->addYears(1); // Results in 2016-01-03
(new Chronos('2012-02-29'))->addYears(1); // Results in 2013-02-28
参数
-
int
$value 要添加的年数。
返回值
static
addYearsWithOverflow() ¶ public
addYearsWithOverflow(int $value): static
在实例中添加带有溢出的年份。正数 $value 向前移动,负数 $value 向后移动。
如果新的 ChronosDate 不存在,则天数会溢出到下一个月。
示例
(new Chronos('2012-02-29'))->addYearsWithOverflow(1); // Results in 2013-03-01
参数
-
int
$value 要添加的年数。
返回值
static
average() ¶ public
average(DateTimeInterface|null $other = null): static
将当前实例修改为给定实例(默认情况下为当前实例)和当前实例的平均值。
参数
-
DateTimeInterface|null
$other optional 要比较的实例。
返回值
static
between() ¶ public
between(DateTimeInterface $start, DateTimeInterface $end, bool $equals = true): bool
确定实例是否在另外两个实例之间
参数
-
DateTimeInterface
$start 目标范围的开始。
-
DateTimeInterface
$end 目标范围的结束。
-
bool
$equals optional 是否包含范围的开始和结束。
返回值
bool
closest() ¶ public
closest(DateTimeInterface $first, DateTimeInterface $second, DateTimeInterface ...$others): static
从实例中获取最接近的日期。
参数
-
DateTimeInterface
$first 要比较的实例。
-
DateTimeInterface
$second 要比较的实例。
-
DateTimeInterface
...$others 要比较的其他实例。
返回值
static
create() ¶ public static
create(int|null $year = null, int|null $month = null, int|null $day = null, int|null $hour = null, int|null $minute = null, int|null $second = null, int|null $microsecond = null, DateTimeZone|string|null $timezone = null): static
从特定的日期和时间创建一个实例。
如果 $year、$month 或 $day 任何一个设置为 null,则使用其 now() 值。
如果 $hour 为 null,则将其设置为 now() 值,$minute、$second 和 $microsecond 的默认值将为其 now() 值。如果 $hour 不为 null,则 $minute、$second 和 $microsecond 的默认值为 0。
参数
-
int|null
$year optional 要创建实例的年份。
-
int|null
$month optional 要创建实例的月份。
-
int|null
$day optional 要创建实例的日期。
-
int|null
$hour optional 要创建实例的小时。
-
int|null
$minute optional 要创建实例的分钟。
-
int|null
$second optional 要创建实例的秒数。
-
int|null
$microsecond optional 要创建实例的微秒数。
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
createFromArray() ¶ public static
createFromArray(array<int|string> $values): static
从日期和时间值的数组创建一个实例。
日期必须设置“年”、“月”和“日”值。时间值默认都为 0。
“时区”值可以是 \DateTimeZone
支持的任何格式。
允许的值
- 年
- 月
- 日
- 小时
- 分钟
- 秒
- 微秒
- 上午/下午 ("am" 或 "pm")
- 时区
参数
-
array<int|string>
$values 日期和时间值数组。
返回值
static
createFromDate() ¶ public static
createFromDate(int|null $year = null, int|null $month = null, int|null $day = null, DateTimeZone|string|null $timezone = null): static
仅从日期创建一个实例。时间部分设置为现在。
参数
-
int|null
$year optional 要创建实例的年份。
-
int|null
$month optional 要创建实例的月份。
-
int|null
$day optional 要创建实例的日期。
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
createFromFormat() ¶ public static
createFromFormat(string $format, string $time, DateTimeZone|string|null $timezone = null): static
从特定格式创建一个实例
参数
-
string
$format 与 date() 兼容的格式字符串。
-
string
$time 要解释的格式化日期字符串。
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
抛出
InvalidArgumentException
createFromTime() ¶ public static
createFromTime(int|null $hour = null, int|null $minute = null, int|null $second = null, int|null $microsecond = null, DateTimeZone|string|null $timezone = null): static
仅从时间创建一个实例。日期部分设置为今天。
参数
-
int|null
$hour optional 要创建实例的小时。
-
int|null
$minute optional 要创建实例的分钟。
-
int|null
$second optional 要创建实例的秒数。
-
int|null
$microsecond optional 要创建实例的微秒数。
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
createFromTimestamp() ¶ public static
createFromTimestamp(float|int $timestamp, DateTimeZone|string|null $timezone = null): static
从时间戳创建一个实例
参数
-
float|int
$timestamp 要从中创建实例的时间戳。
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
createInterval() ¶ public static
createInterval(int|null $years = null, int|null $months = null, int|null $weeks = null, int|null $days = null, int|null $hours = null, int|null $minutes = null, int|null $seconds = null, int|null $microseconds = null): DateInterval
从指定的值创建一个新的 DateInterval 实例。
参数
-
int|null
$years optional 要使用的年份。
-
int|null
$months optional 要使用的月份。
-
int|null
$weeks optional 要使用的星期。
-
int|null
$days optional 要使用的日期。
-
int|null
$hours optional 要使用的小时。
-
int|null
$minutes optional 要使用的分钟。
-
int|null
$seconds optional 要使用的秒数。
-
int|null
$microseconds optional 要使用的微秒。
返回值
DateInterval
diff() ¶ public
diff(DateTimeInterface $target, bool $absolute = false): DateInterval
返回此实例与目标实例之间的差异。
参数
-
DateTimeInterface
$target 目标实例
-
bool
$absolute optional 间隔是否强制为正
返回值
DateInterval
diffFiltered() ¶ public
diffFiltered(DateInterval $interval, callable $callback, DateTimeInterface|null $other = null, bool $absolute = true, int $options = 0): int
使用过滤器可调用函数获取给定间隔的差异
参数
-
DateInterval
$interval 要遍历的间隔
-
callable
$callback 用于过滤的回调函数。
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
-
int
$options optional DatePeriod 选项,{@see https://php.ac.cn/manual/en/class.dateperiod.php}
返回值
int
diffForHumans() ¶ public
diffForHumans(DateTimeInterface|null $other = null, bool $absolute = false): string
获取人类可读格式的差异。
将过去的值与默认的现在进行比较时:1 小时前 5 个月前
将未来的值与默认的现在进行比较时:1 小时后 5 个月后
将过去的值与另一个值进行比较时:1 小时前 5 个月前
将未来的值与另一个值进行比较时:1 小时后 5 个月后
参数
-
DateTimeInterface|null
$other optional 要比较的日期时间。
-
bool
$absolute optional 删除时间差异修饰符,如 ago、after 等
返回值
string
diffFormatter() ¶ public static
diffFormatter(Cake\Chronos\DifferenceFormatterInterface|null $formatter = null): Cake\Chronos\DifferenceFormatterInterface
获取差异格式化程序实例或覆盖当前实例。
参数
-
Cake\Chronos\DifferenceFormatterInterface|null
$formatter optional 设置时的格式化程序实例。
返回值
Cake\Chronos\DifferenceFormatterInterface
diffInDays() ¶ public
diffInDays(DateTimeInterface|null $other = null, bool $absolute = true): int
获取天数差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInDaysFiltered() ¶ public
diffInDaysFiltered(callable $callback, DateTimeInterface|null $other = null, bool $absolute = true, int $options = 0): int
使用过滤器可调用函数获取天数差异
参数
-
callable
$callback 用于过滤的回调函数。
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
-
int
$options optional DatePeriod 选项,{@see https://php.ac.cn/manual/en/class.dateperiod.php}
返回值
int
diffInHours() ¶ public
diffInHours(DateTimeInterface|null $other = null, bool $absolute = true): int
获取小时差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInHoursFiltered() ¶ public
diffInHoursFiltered(callable $callback, DateTimeInterface|null $other = null, bool $absolute = true, int $options = 0): int
使用过滤器可调用函数获取小时差异
参数
-
callable
$callback 用于过滤的回调函数。
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
-
int
$options optional DatePeriod 选项,{@see https://php.ac.cn/manual/en/class.dateperiod.php}
返回值
int
diffInMinutes() ¶ public
diffInMinutes(DateTimeInterface|null $other = null, bool $absolute = true): int
获取分钟差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInMonths() ¶ public
diffInMonths(DateTimeInterface|null $other = null, bool $absolute = true): int
获取月份差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInMonthsIgnoreTimezone() ¶ public
diffInMonthsIgnoreTimezone(DateTimeInterface|null $other = null, bool $absolute = true): int
获取忽略时区的月份差异。这意味着月份是在指定的时区中计算的,没有先转换为 UTC。这可以防止日期更改,因为这可能会更改月份。
例如,如果比较 2019-06-01 Asia/Tokyo
和 2019-10-01 Asia/Tokyo
,则结果将是 4 个月,而不是使用普通 DateTime::diff()
时的 3 个月。
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInSeconds() ¶ public
diffInSeconds(DateTimeInterface|null $other = null, bool $absolute = true): int
获取秒数差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInWeekdays() ¶ public
diffInWeekdays(DateTimeInterface|null $other = null, bool $absolute = true, int $options = 0): int
获取工作日差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
-
int
$options optional DatePeriod 选项,{@see https://php.ac.cn/manual/en/class.dateperiod.php}
返回值
int
diffInWeekendDays() ¶ public
diffInWeekendDays(DateTimeInterface|null $other = null, bool $absolute = true, int $options = 0): int
使用过滤器获取周末日期差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
-
int
$options optional DatePeriod 选项,{@see https://php.ac.cn/manual/en/class.dateperiod.php}
返回值
int
diffInWeeks() ¶ public
diffInWeeks(DateTimeInterface|null $other = null, bool $absolute = true): int
获取星期差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
diffInYears() ¶ public
diffInYears(DateTimeInterface|null $other = null, bool $absolute = true): int
获取年份差异
参数
-
DateTimeInterface|null
$other optional 要从中进行差值的实例。
-
bool
$absolute optional 获取差值的绝对值
返回值
int
endOfDay() ¶ public
endOfDay(bool $microseconds = false): static
将时间设置为 23:59:59 或 23:59:59.999999(如果 $microseconds
为真)。
参数
-
bool
$microseconds optional 是否设置微秒
返回值
static
equals() ¶ public
equals(DateTimeInterface $other): bool
确定实例是否等于另一个实例
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
farthest() ¶ public
farthest(DateTimeInterface $first, DateTimeInterface $second, DateTimeInterface ...$others): static
从实例中获取最远的日期。
参数
-
DateTimeInterface
$first 要比较的实例。
-
DateTimeInterface
$second 要比较的实例。
-
DateTimeInterface
...$others 要比较的其他实例。
返回值
static
firstOfMonth() ¶ public
firstOfMonth(int|null $dayOfWeek = null): static
修改为当前月中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前月的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
firstOfQuarter() ¶ public
firstOfQuarter(int|null $dayOfWeek = null): static
修改为当前季度中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前季度的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
firstOfYear() ¶ public
firstOfYear(int|null $dayOfWeek = null): static
修改为当前年份中的给定一周的第一个日期。如果未提供 dayOfWeek,则修改为当前年份的第一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
format() ¶ public
format(string $format): string
根据 DateTimeImmutable::format() 返回格式化的日期字符串。
参数
-
string
$format 字符串格式
返回值
string
fromNow() ¶ public static
fromNow(DateTimeInterface $other): DateInterval|bool
用于获取给定时间剩余时间的便捷方法。
参数
-
DateTimeInterface
$other 要获取剩余时间的日期。
返回值
DateInterval|bool
getLastErrors() ¶ public static
getLastErrors(): array|false
返回上次 createFromFormat()
调用时的解析警告和错误。
返回与 DateTimeImmutable::getLastErrors() 相同的数据。
返回值
array|false
getTestNow() ¶ public static
getTestNow(): Cake\Chronos\Chronos|null
获取在创建“现在”实例时要返回的 Chronos 实例(真实或模拟)。
返回值
Cake\Chronos\Chronos|null
greaterThan() ¶ public
greaterThan(DateTimeInterface $other): bool
确定实例是否大于(晚于)另一个实例
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
greaterThanOrEquals() ¶ public
greaterThanOrEquals(DateTimeInterface $other): bool
确定实例是否大于(晚于)或等于另一个实例
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
hasRelativeKeywords() ¶ public static
hasRelativeKeywords(string|null $time): bool
确定时间字符串中是否存在相对关键字,这用于为测试实例创建相对于现在的日期。例如:下周二
参数
-
string|null
$time 要检查的时间字符串。
返回值
bool
instance() ¶ public static
instance(DateTimeInterface $other): static
从 DateTimeInterface 创建一个实例
参数
-
DateTimeInterface
$other 要转换的日期时间实例。
返回值
static
isBirthday() ¶ public
isBirthday(DateTimeInterface|null $other = null): bool
检查是否为生日。比较两个日期的日期/月份值。
参数
-
DateTimeInterface|null
$other optional 要比较的实例或 null(使用当前日期)。
返回值
bool
isSameDay() ¶ public
isSameDay(DateTimeInterface $other): bool
检查传入的日期是否与实例的当前日期相同。
参数
-
DateTimeInterface
$other 要检查的实例。
返回值
bool
isSameMonth() ¶ public
isSameMonth(DateTimeInterface $other): bool
返回传入的日期是否与当前月份和年份相同。
参数
-
DateTimeInterface
$other 要检查的实例。
返回值
bool
isSameYear() ¶ public
isSameYear(DateTimeInterface $other): bool
返回传入的日期是否与当前年份相同。
参数
-
DateTimeInterface
$other 要检查的实例。
返回值
bool
isWithinNext() ¶ public
isWithinNext(string|int $timeInterval): bool
如果此实例将在指定的间隔内发生,则返回 true。
参数
-
string|int
$timeInterval 带空格的时间类型数字值。有效类型示例:6 hours, 2 days, 1 minute。
返回值
bool
lastOfMonth() ¶ public
lastOfMonth(int|null $dayOfWeek = null): static
修改为当前月份中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前月份的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
lastOfQuarter() ¶ public
lastOfQuarter(int|null $dayOfWeek = null): static
修改为当前季度中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前季度的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
lastOfYear() ¶ public
lastOfYear(int|null $dayOfWeek = null): static
修改为当前年份中给定一周的最后一天。如果未提供 dayOfWeek,则修改为当前年份的最后一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
lessThan() ¶ public
lessThan(DateTimeInterface $other): bool
判断实例是否小于(早于)另一个实例。
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
lessThanOrEquals() ¶ public
lessThanOrEquals(DateTimeInterface $other): bool
判断实例是否小于(早于)或等于另一个实例。
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
max() ¶ public
max(DateTimeInterface|null $other = null): static
获取给定实例(默认现在)和当前实例之间的最大实例。
参数
-
DateTimeInterface|null
$other optional 要比较的实例。
返回值
static
min() ¶ public
min(DateTimeInterface|null $other = null): static
获取给定实例(默认现在)和当前实例之间的最小实例。
参数
-
DateTimeInterface|null
$other optional 要比较的实例。
返回值
static
modify() ¶ public
modify(string $modifier): static
根据 DateTimeImmutable::modifier() 创建一个新的修改日期的实例。
参数
-
string
$modifier 日期修改器
返回值
static
抛出
InvalidArgumentException
另请参阅
next() ¶ public
next(int|null $dayOfWeek = null): static
修改为给定一周的下一天。如果未提供 dayOfWeek,则修改为当前一周的下一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
notEquals() ¶ public
notEquals(DateTimeInterface $other): bool
判断实例是否不等于另一个实例。
参数
-
DateTimeInterface
$other 要比较的实例。
返回值
bool
now() ¶ public static
now(DateTimeZone|string|null $timezone = null): static
获取当前日期和时间的实例。
参数
-
DateTimeZone|string|null
$timezone optional DateTimeZone 对象或时区名称。
返回值
static
nthOfMonth() ¶ public
nthOfMonth(int $nth, int $dayOfWeek): static|false
修改为当前月份中给定一周的给定天。如果计算出的天数超出当前月份的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int
$nth 要使用的偏移量。
-
int
$dayOfWeek 要移动到的星期几。
返回值
static|false
nthOfQuarter() ¶ public
nthOfQuarter(int $nth, int $dayOfWeek): static|false
修改为当前季度中给定一周的给定天。如果计算出的天数超出当前季度的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int
$nth 要使用的偏移量。
-
int
$dayOfWeek 要移动到的星期几。
返回值
static|false
nthOfYear() ¶ public
nthOfYear(int $nth, int $dayOfWeek): static|false
修改为当前年份中给定一周的给定天。如果计算出的天数超出当前年份的范围,则返回 false 且不进行任何修改。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int
$nth 要使用的偏移量。
-
int
$dayOfWeek 要移动到的星期几。
返回值
static|false
parse() ¶ public static
parse(Cake\Chronos\ChronosDateCake\Chronos\ChronosTimeDateTimeInterface|string|int|null $time = 'now', DateTimeZone|string|null $timezone = null): static
从字符串创建实例。这与构造函数的别名相同,它允许更好的流畅语法,因为它允许你执行 Chronos::parse('Monday next week')->fn() 而不是 (new Chronos('Monday next week'))->fn()
参数
-
Cake\Chronos\ChronosDateCake\Chronos\ChronosTimeDateTimeInterface|string|int|null
$time optional 要解析的与 strtotime 兼容的字符串
-
DateTimeZone|string|null
$timezone optional DateTimeZone 对象或时区名称。
返回值
static
previous() ¶ public
previous(int|null $dayOfWeek = null): static
修改为给定一周的先前一天。如果未提供 dayOfWeek,则修改为当前一周的先前一天。使用提供的常量来指示所需的 dayOfWeek,例如 Chronos::MONDAY。
参数
-
int|null
$dayOfWeek optional 要移动到的星期几。
返回值
static
resetToStringFormat() ¶ public static
resetToStringFormat(): void
将 __toString() 格式重置为 DEFAULT_TO_STRING_FORMAT
。
返回值
void
rolloverTime() ¶ protected static
rolloverTime(int|null $value, int $max): int|null
更新值以保留剩余值并返回时间单位的回滚值,如果无回滚则返回 null。
参数
-
int|null
$value 时间单位值
-
int
$max 时间单位最大值
返回值
int|null
safeCreateDateTimeZone() ¶ protected static
safeCreateDateTimeZone(DateTimeZone|string|null $object): DateTimeZone
从字符串或 DateTimeZone 创建 DateTimeZone。
参数
-
DateTimeZone|string|null
$object 要转换的值。
返回值
DateTimeZone
抛出
InvalidArgumentException
setDate() ¶ public
setDate(int $year, int $month, int $day): static
设置日期。
参数
-
int
$year 要设置的年份。
-
int
$month 要设置的月份。
-
int
$day 要设置的日期。
返回值
static
setDateTime() ¶ public
setDateTime(int $year, int $month, int $day, int $hour, int $minute, int $second = 0): static
设置日期和时间。
参数
-
int
$year 要设置的年份。
-
int
$month 要设置的月份。
-
int
$day 要设置的日期。
-
int
$hour 要设置的小时。
-
int
$minute 要设置的分钟。
-
int
$second optional 要设置的秒数。
返回值
static
setISODate() ¶ public
setISODate(int $year, int $week, int $dayOfWeek = 1): static
根据 ISO 8601 标准设置日期。
参数
-
int
$year 日期的年份。
-
int
$week 日期的星期。
-
int
$dayOfWeek optional 从一周的第一天起的偏移量。
返回值
static
setTestNow() ¶ public static
setTestNow(Cake\Chronos\Chronos|string|null $testNow = null): void
设置一个 Chronos 实例(真实或模拟),以便在创建“现在”实例时返回。在以下情况下,将返回提供的实例。
- 调用静态 now() 方法,例如 Chronos::now()。
- 当向构造函数或 parse() 传递 null(或空字符串)时,例如 new Chronos(null)。
- 当向构造函数或 parse() 传递字符串“now”时,例如 new Chronos('now')。
- 当向 Chronos::parse() 传递包含所需时间的字符串时。
请注意,上面的示例中省略了时区参数,并且没有影响,因为无论其值如何,都将返回模拟值。
要清除测试实例,请使用默认参数 null 调用此方法。
参数
-
Cake\Chronos\Chronos|string|null
$testNow optional 所有未来实例要使用的实例。
返回值
void
setTime() ¶ public
setTime(int $hours, int $minutes, int $seconds = 0, int $microseconds = 0): static
设置时间。
参数
-
int
$hours 时间的小时数
-
int
$minutes 时间的分钟数
-
int
$seconds optional 时间的秒数
-
int
$microseconds optional 时间的微秒数
返回值
static
setTimeFromTimeString() ¶ public
setTimeFromTimeString(string $time): static
通过时间字符串设置时间。
参数
-
string
$time 时间字符串。
返回值
static
setTimestamp() ¶ public
setTimestamp(int $timestamp): static
根据 Unix 时间戳设置日期和时间。
参数
-
int
$timestamp 表示日期的 Unix 时间戳
返回值
static
setTimezone() ¶ public
setTimezone(DateTimeZone|string $value): static
从字符串或对象设置实例的时区。
参数
-
DateTimeZone|string
$value 要使用的 DateTimeZone 对象或时区名称。
返回值
static
setToStringFormat() ¶ public static
setToStringFormat(string $format): void
设置 __toString() 格式。
参数
-
string
$format 请参阅
format()
以了解可接受的说明符。
返回值
void
setWeekEndsAt() ¶ public static
setWeekEndsAt(int $day): void
设置一周的最后一天。
参数
-
int
$day 一周结束的那一天。
返回值
void
setWeekStartsAt() ¶ public static
setWeekStartsAt(int $day): void
设置一周的第一天。
参数
-
int
$day 一周开始的那一天。
返回值
void
setWeekendDays() ¶ public static
setWeekendDays(array $days): void
设置周末。
参数
-
array
$days 哪些天是“周末”。
返回值
void
startOfWeek() ¶ public
startOfWeek(): static
将日期设置为一周的第一天(在 $weekStartsAt 中定义)并将时间设置为 00:00:00。
返回值
static
subMonths() ¶ public
subMonths(int $value): static
从实例中删除月份数。
与 addMonths()
具有相同的行为。
参数
-
int
$value 要移除的月数。
返回值
static
subMonthsWithOverflow() ¶ public
subMonthsWithOverflow(int $value): static
在实例中添加带有溢出的月份。正数 $value 向前移动,负数 $value 向后移动。
如果新的 ChronosDate 不存在,则天数会溢出到下一个月。
示例
(new Chronos('2012-01-30'))->addMonthsWithOverflow(1); // Results in 2013-03-01
参数
-
int
$value 要移除的月数。
返回值
static
subWeekdays() ¶ public
subWeekdays(int $value): static
从实例中移除工作日。
参数
-
int
$value 要移除的工作日数。
返回值
static
subYears() ¶ public
subYears(int $value): static
从实例中移除年数。
与addYears()
的行为相同。
参数
-
int
$value 要移除的年份数。
返回值
static
subYearsWithOverflow() ¶ public
subYearsWithOverflow(int $value): static
从实例中移除年数,并允许溢出。
与addYeasrWithOverflow()
的行为相同。
参数
-
int
$value 要移除的年份数。
返回值
static
toNative() ¶ public
toNative(): DateTimeImmutable
返回一个 DateTimeImmutable 实例。
此方法返回一个没有 Chronos 扩展的 PHP DateTimeImmutable。
返回值
DateTimeImmutable
toQuarter() ¶ public
toQuarter(bool $range = false): array|int
返回季度。
参数
-
bool
$range 可选 范围。
返回值
array|int
toRfc1036String() ¶ public
toRfc1036String(): string
将实例格式化为 RFC1036。
返回值
string
链接
toRfc1123String() ¶ public
toRfc1123String(): string
将实例格式化为 RFC1123。
返回值
string
链接
toRfc2822String() ¶ public
toRfc2822String(): string
将实例格式化为 RFC2822。
返回值
string
链接
toRfc3339String() ¶ public
toRfc3339String(): string
将实例格式化为 RFC3339。
返回值
string
链接
toRfc822String() ¶ public
toRfc822String(): string
将实例格式化为 RFC822。
返回值
string
链接
toRfc850String() ¶ public
toRfc850String(): string
将实例格式化为 RFC850。
返回值
string
链接
today() ¶ public static
today(DateTimeZone|string|null $timezone = null): static
创建表示今天的实例。
参数
-
DateTimeZone|string|null
$timezone optional 要使用的时区。
返回值
static
tomorrow() ¶ public static
tomorrow(DateTimeZone|string|null $timezone = null): static
创建表示明天的实例。
参数
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
wasWithinLast() ¶ public
wasWithinLast(string|int $timeInterval): bool
如果该实例发生在指定的时间间隔内,则返回 true。
参数
-
string|int
$timeInterval 带空格的时间类型数字值。有效类型示例:6 hours, 2 days, 1 minute。
返回值
bool
yesterday() ¶ public static
yesterday(DateTimeZone|string|null $timezone = null): static
创建表示昨天的实例。
参数
-
DateTimeZone|string|null
$timezone optional 新实例应使用的 DateTimeZone 对象或时区名称。
返回值
static
属性详情
$testNow ¶ protected static
在创建 now 实例时返回的测试 Chronos 实例
Chronos 提供的所有日期/时间类只有一个测试用例。 它的目的是模拟对“现在”的模拟,而“现在”是一个单一的全局事实。
类型
Cake\Chronos\Chronos|null