craigsefton / chronos
标准PHP DateTime类的扩展。
v1.0.1
2016-03-12 21:43 UTC
Requires
- php: >=5.2.0
Requires (Dev)
- phpunit/phpunit: >=3.7.14
This package is not auto-updated.
Last update: 2024-09-26 00:29:50 UTC
README
安装
通过Composer
- 运行以下命令:
composer require "craigsefton/chronos:*"
手动安装
- 克隆此仓库:
git clone git@github.com:craigsefton/chronos.git
- 切换到克隆的文件夹,例如:
cd chronos
- 运行命令
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');