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许可证许可。