2024 年 PHP 开发者大会日本站

IntlDateFormatter 类

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

简介

日期格式化器是一个具体类,它可以使用模式字符串和/或预设模式来启用与区域设置相关的日期格式化/解析。

此类表示 ICU 日期格式化功能。它允许用户以本地化格式显示日期,或使用模式字符串和/或预设模式将字符串解析为 PHP 日期值。

类概要

class IntlDateFormatter {
/* 常量 */
public const int FULL;
public const int LONG;
public const int MEDIUM;
public const int SHORT;
public const int NONE;
public const int RELATIVE_FULL;
public const int RELATIVE_LONG;
public const int RELATIVE_MEDIUM;
public const int RELATIVE_SHORT;
public const int GREGORIAN;
public const int TRADITIONAL;
/* 方法 */
public __construct(
    ?string $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZone|DateTimeZone|string|null $timezone = null,
    IntlCalendar|int|null $calendar = null,
    ?string $pattern = null
)
public static create(
    ?string $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZone|DateTimeZone|string|null $timezone = null,
    IntlCalendar|int|null $calendar = null,
    ?string $pattern = null
): ?IntlDateFormatter
public static formatObject(IntlCalendar|DateTimeInterface $datetime, array|int|string|null $format = null, ?string $locale = null): string|false
public getErrorCode(): int
public isLenient(): bool
public localtime(string $string, int &$offset = null): array|false
public parse(string $string, int &$offset = null): int|float|false
public setCalendar(IntlCalendar|int|null $calendar): bool
public setLenient(bool $lenient): void
public setPattern(string $pattern): bool
}

预定义常量

这些常量用于在 DateType 和 TimeType 的构造函数中指定不同的格式。

IntlDateFormatter::NONE int
不要包含此元素
IntlDateFormatter::FULL int
完全指定的样式(例如:星期二,四月 12,1952 年或下午 3:30:42 PST)
IntlDateFormatter::LONG int
长样式(例如:1952 年 1 月 12 日 或 下午 3:30:32)
IntlDateFormatter::MEDIUM int
中等样式(例如:1952 年 1 月 12 日)
IntlDateFormatter::SHORT int
最简略的样式,仅包含必要数据(例如:52/12/13 或 下午 3:30)
IntlDateFormatter::RELATIVE_FULL int
IntlDateFormatter::FULL相同,但昨天、今天和明天分别显示为yesterdaytodaytomorrow。从 PHP 8.0.0 开始可用,仅限于dateType
IntlDateFormatter::RELATIVE_LONG int
IntlDateFormatter::LONG相同,但昨天、今天和明天分别显示为yesterdaytodaytomorrow。从 PHP 8.0.0 开始可用,仅限于dateType
IntlDateFormatter::RELATIVE_MEDIUM int
IntlDateFormatter::MEDIUM相同,但昨天、今天和明天分别显示为yesterdaytodaytomorrow。从 PHP 8.0.0 开始可用,仅限于dateType
IntlDateFormatter::RELATIVE_SHORT int
IntlDateFormatter::SHORT相同,但昨天、今天和明天分别显示为yesterdaytodaytomorrow。从 PHP 8.0.0 开始可用,仅限于dateType

以下 int 常量用于指定日历。这些日历都直接基于公历。非公历需要在语言环境中指定。例如:locale="hi@calendar=BUDDHIST"。

IntlDateFormatter::TRADITIONAL int
非公历
IntlDateFormatter::GREGORIAN int
公历

变更日志

版本 描述
8.4.0 类常量现在已添加类型。

目录

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top