romeoz / rock-date
PHP的简单DateTime库,支持国际化
0.12.0
2015-11-07 02:41 UTC
Requires
- php: >=5.4.0
- romeoz/rock-base: 0.12.*
Requires (Dev)
- phpunit/phpunit: ^4.7.0
This package is not auto-updated.
Last update: 2024-09-24 03:33:48 UTC
README
特性
- 支持多种格式(如
m/d/Y
、m/d/Y g:i A
等) - 自定义格式和选项
- 国际化支持
- 扩展DateInterval(支持日期之间的总月份/周数/小时数/分钟数/秒数)
- 独立模块/组件,用于Rock框架
目录
安装
从命令行
composer require romeoz/rock-date
在composer.json中
{ "require": { "romeoz/rock-date": "*" } }
快速开始
use rock\date\DateTime; (new DateTime)->format(); // output: current date in the format Y-m-d H:i:s // default format (new DateTime)->isoDate(); // output: current date in the format Y-m-d // modify date DateTime::set('1988-11-12')->date(); //output: 11/12/1988
自定义格式
$datetime = DateTime::set('1988-11-12'); $datetime->setFormats(['shortDate' => 'j / F / Y']); $datetime->shortDate(); // output: 12 / November / 1988
自定义选项格式
$datetime = new DateTime('1988-11-12'); $datetime->setFormatOption('ago', function (DateTime $datetime) { return floor((time() - $datetime->getTimestamp()) / 86400) . ' days ago'; }); $datetime->format('d F Y, ago'); // output: 12 November 1988, 9574 days ago
国际化
$dateTime = new DateTime('1988-11-12'); $dateTime->setLocale('ru'); $dateTime->format('j F Y'); // output: 12 ноября 1988
日期之间的差异/间隔
$diff = (new DateTime('2012-02-01'))->diff(new DateTime('2015-01-01')); echo $diff->total_months; // output: 36 echo $diff->format('%R%tm months'); // output: +36 months
添加了额外的占位符
%tm
- 总月份%tw
- 总周数%th
- 总小时数%ti
- 总分钟数%ts
- 总秒数
文档
要求
- PHP 5.4+
许可证
DateTime库是开源软件,采用MIT许可证。