cse / helpers-date
该助手库允许您轻松使用 DATE。更改格式、加减天数、计算日期差、获取季度等,所有这些功能都在这个库中提供。
Requires
- php: >=7.1
Requires (Dev)
README
英语 | 俄语
DATE CSE 助手
该助手库允许您轻松使用 DATE。更改格式、加减天数、计算日期差、获取季度等,所有这些功能都在这个库中提供。
项目仓库: https://github.com/cs-eliseev/helpers-date
DATE
if (Date::isToday($date)) { $date = Date::changeDay($date, -7); } $mount = Date::diff($date, 'now', '%m'); Date::getQuarterByNumberMonth($mount);
简介
CSE 助手 是一系列以 PHP 编写的简单函数库,供人们使用。
尽管 PHP 是互联网的主要编程语言,但其功能仍不够。DATE CSE 助手使用了更改格式、加减天数、计算日期差、获取季度等方法。
CSE 助手 是为了快速开发 Web 应用而创建的。
CSE 助手项目
- 数组 CSE 助手
- Cookie CSE 助手
- 日期 CSE 助手
- 电子邮件 CSE 助手
- IP CSE 助手
- JSON CSE 助手
- 数学转换器 CSE 助手
- 电话 CSE 助手
- 请求 CSE 助手
- 会话 CSE 助手
- 单词 CSE 助手
以下是一些有关如何初始化库和执行常见命令的信息。
安装
您可以在此处找到此项目的最新版本。
Composer
执行以下命令以获取包的最新版本
composer require cse/helpers-date
或者 composer.json 文件应包含以下内容
{ "require": { "cse/helpers-date": "*" } }
Git
在本地上克隆此仓库
git clone https://github.com/cs-eliseev/helpers-date.git
下载
使用
该类包含静态方法,方便在任何项目中使用。请参阅示例 examples-date.php。
通过日期获取时间
示例
Date::getTime('01.01.2018'); // 1514754000
使用当前日期
Date::getTime(); Date::getTime('now'); // timestemp
使用相对时间
Date::getTime('+1 week 2 days 4 hours 2 seconds'); // timestemp
将日期转换为格式
示例
Date::toFormat('2018-01-01'); // 01.01.2018
使用时间戳
Date::toFormat(1514754000); // 01.01.2018
更改默认格式
Date::toFormat(1514754000, 'Y/m/d'); // 2018/01/01
使用当前日期
Date::toFormat(); Date::toFormat('now'); // d.m.Y
使用相对时间
Date::toFormat('+1 week 2 days 4 hours 2 seconds');
将日期转换为 SQL
示例
Date::toSQL('01.01.2018'); // 2018-01-01
使用时间戳
Date::toSQL(1514754000); // 2018-01-01
使用当前日期
Date::toSQL(); Date::toSQL('now'); // Y-m-d
使用相对时间
Date::toSQL('+1 week 2 days 4 hours 2 seconds'); // Y-m-d
日期差
示例
Date::diff('2018-07-01', '2018-07-01'); // 0
日期格式小时
Date::diff('2018-07-01 02:00:00', '01.01.2018 00:00:00', '%h'); // 2
使用时间戳
Date::diff(strtotime('2018-09-02'), strtotime('2018-07-02'), '%m')); // 2
其他格式
Date::diff('31.01.2018', 1514754000, '%d/%m')); // 30/0
当前日期
Date::diff('31.01.2018'); Date::diff('31.01.2018', 'now'); // %d
使用相对时间
Date::diff'31.01.2018', '+1 week'); // %d
当前日期
示例
Date::current(); // d.m.Y
设置格式
Date::current(Date::FORMAT_SQL); // Y-m-d
极端月份的日期
获取月份的最后一天
Date::extremeMonthDate('11.01.2018'); // 2018-01-31
获取月份的第一天
Date::extremeMonthDate('28.02.2018', 'Y-m-01'); // 2018-02-01
使用时间戳
Date::extremeMonthDate(strtotime('28.02.2018'), 'Y-m-01'); // 2018-02-01
使用当前日期
Date::extremeMonthDate(); Date::extremeMonthDate('now'); // Y-m-last_mounth_day
使用相对日期
Date::extremeMonthDate('+1 week'); // Y-m-last_mounth_day + 1 week
获取季度
示例
Date::getQuarter('31.12.2018 23:59:59'); // 4
使用时间戳
Date::getQuarter(1514754000); // 1
使用当前日期
Date::getQuarter(); Date::getQuarter('now'); // quarter
使用相对时间
Date::getQuarter('+1 week 2 days 4 hours 2 seconds'); // quarter
按月份数字获取季度
示例
Date::getQuarterByNumberMonth(12); // 4
更改日期
添加日期
Date::changeDay('01.01.2018', 1); // 02.01.2018
减去日期
Date::changeDay('2018-01-01', -1); // 31.12.2017
更改格式
Date::changeDay('01.01.2018', -1, Date::FORMAT_SQL); // 2017-12-31
使用时间戳
Date::changeDay(timestamp('01.01.2018'), -1, Date::FORMAT_SQL); // 2017-12-31
检查今天
示例
Date::isToday('01.01.2018 00:00:00'); // false
使用时间戳
Date::isToday(1519804800); // false
使用相对时间
Date::isToday('now'); // true
检查日期
示例
Date::checkDateByTimestamp((new \DateTime('now'))->format('U')); // true
设置时区
示例
Date::setTimezone(); // UTC
设置时区
Date::setTimezone('GMT'); // GMT
获取时区
示例
Date::getTimezone(); // UTC
检查时区
示例
Date::isTimezone(); // true
设置时区
Date::isTimezone('GMT'); // false
测试与代码覆盖率
使用 PHPUnit 进行单元测试。单元测试确保类和方法确实按预期执行。
PHPUnit 的一般文档可在 https://phpunit.de/documentation.html 找到。
要运行 PHPUnit 单元测试,请执行
phpunit PATH/TO/PROJECT/tests/
如果您想获取代码覆盖率报告,请使用以下命令
phpunit --coverage-html ./report PATH/TO/PROJECT/tests/
使用了 PHPUnit 默认配置
phpunit --configuration PATH/TO/PROJECT/phpunit.xml
捐赠
您可以通过以下链接支持此项目:这里。您还可以通过为项目做出贡献或报告错误来提供帮助。即使提出功能建议也是极好的。任何帮助都十分感激。
许可证
DATE CSE HELPERS 是一个在 MIT 许可证下授权的开源 PHP 库。请参阅许可证文件以获取更多信息。
GitHub @cs-eliseev