rarst/wpdatetime

此软件包已被 废弃 且不再维护。未建议替代软件包。

为 WordPress 环境扩展 PHP 的 DateTime 和 DateTimeZone 类。

0.4 2019-11-19 12:27 UTC

This package is auto-updated.

Last update: 2020-08-12 09:56:51 UTC


README

WpDateTime 是 PHP 的 DateTimeDateTimeZone 类在 WordPress 环境下的扩展。

它使得从 WordPress 文章实例化时间对象并生成带有正确格式和时区处理的本地化输出变得简单。

已停用

该项目已被 停用 以支持原生 WordPress 5.3+ 功能

安装

将 Composer 软件包要求添加到您的项目中

composer require rarst/wpdatetime

使用

WpDateTimeWpDateTimeImmutable

这些类分别扩展了 DateTimeDateTimeImmutable,并保留了它们的所有功能。

您可以使用共享的 WpDateTimeInterface 来提示两者。

方法

  • WpDateTime::createFromPost() 从 WP 文章创建对象实例。时区默认为当前 WP 设置。
  • WpDateTime->formatI18n() 在对象的时区输出格式化和本地化的日期。
  • WpDateTime->formatDate() 以当前 WP 日期格式输出。
  • WpDateTime->formatTime() 以当前 WP 时间格式输出。

示例

use Rarst\WordPress\DateTime\WpDateTime;

$date = WpDateTime::createFromPost( get_post() );

printf(
	'Posted on: <time datetime="%s">%s</time>',
	$date->format( DATE_RFC3339 ),
	$date->formatDate()
);
// Posted on: <time datetime="2014-11-07T15:36:31+02:00">Ноябрь 7, 2014</time>

WpDateTimeZone

该类扩展了 DateTimeZone

方法

  • WpDateTimeZone::getWpTimezone() 静态方法从当前 WordPress 设置创建对象实例。默认为 timezone_string 选项,如果该选项不存在,则回退到 gmt_offset

示例

use Rarst\WordPress\DateTime\WpDateTimeZone;

// Timezone string.
var_dump( WpDateTimeZone::getWpTimezone()->getName() );
// string(11) "Europe/Kiev"

// GMT offset.
var_dump( WpDateTimeZone::getWpTimezone()->getName() );
// string(6) "+02:00"

测试

测试使用 Brain Monkey(包含在依赖项中)和 PHPUnit 7(不包括)。

composer install
phpunit

许可证

MIT