craigsefton/chronos

标准PHP DateTime类的扩展。

v1.0.1 2016-03-12 21:43 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:29:50 UTC


README

安装

通过Composer

  1. 运行以下命令: composer require "craigsefton/chronos:*"

手动安装

  1. 克隆此仓库: git clone git@github.com:craigsefton/chronos.git
  2. 切换到克隆的文件夹,例如: cd chronos
  3. 运行命令 composer install

测试您的安装

所有测试都是使用PHPUnit构建的,PHPUnit应该在composer安装过程中安装(PHPUnit是一个开发依赖项)。

要运行所有测试,请在Chronos文件夹内运行命令 vendor/bin/phpunit

示例用法

这扩展了默认的PHP DateTime类,并提供了一些额外的功能。除非另有规定,所有方法都操作当前对象。此外,所有方法都返回当前对象,因此如果需要,方法可以链式调用。

use \Chronos\ChronosDateTime;
$date = new ChronosDateTime("2015-03-15 23:00:00");
echo $date->endOfYear()->startOfDay();
// Prints Thu, 31 Dec 2015 00:00:00 +0000

如您所见,您也可以打印对象。可以使用 $date->setDefaultFormat() 设置默认的打印格式。

时区

需要注意的是,Chronos的默认时区是UTC。否则,时区的使用与正常的DateTime库相同。

一周的开始

此外,该库将一周的开始日视为星期一,一周的结束日视为星期日。

use \Chronos\ChronosDateTime;
$date = new ChronosDateTime("2015-03-15 23:00:00");
echo $date->startOfFirstDayOfWeek();
// Prints Mon, 09 Mar 2015 00:00:00 +0000

日期验证

该类还实现了一个优秀的日期验证器,源自 https://php.ac.cn/function.checkdate#113205

use \Chronos\ChronosDateTime;
// False
echo ChronosDateTime::validateDate('2012-02-30 12:12:12');
echo ChronosDateTime::validateDate('14:77', 'H:i');
// True
echo ChronosDateTime::validateDate('Tue, 28 Feb 2012 12:12:12 +0200', 'D, d M Y H:i:s O');