当前位置: 代码网 > it编程>编程语言>Php > TimeHelper简单快捷PHP日期时间助手类库使用详解

TimeHelper简单快捷PHP日期时间助手类库使用详解

2024年05月18日 Php 我要评论
timehelper是一个简单易用的php时间日期助手类库,可以快速实现常用的时间日期操作,比如获取指定时间的秒数,获取友好的时间格式,判断时间范围,计算两个时间相差值,返回n小时/天/星期/月/年前

timehelper 是一个简单易用的php时间日期助手类库,可以快速实现常用的时间日期操作,比如获取指定时间的秒数,获取友好的时间格式,判断时间范围,计算两个时间相差值,返回n小时/天/星期/月/年前或者后的时间戳等等

特性

  • 简单易用: 不依赖任何扩展,开箱即用
  • 化繁为简: 所有方法都可以传入任意类型的时间日期格式时间戳
  • 快捷高效: 所有操作只需要一个静态方法即可完成
  • 长期维护: 作者为自由职业者,保证项目的长期稳定持续更新

🚀安装

通过composer导入类库

composer require zjkal/time-helper

🌈使用文档

首先在类中引用timehelper助手类

use zjkal\timehelper;

1. 获取需要的秒数

一般用于设置缓存时间,设置结束时间等

//返回到今天晚上零点之前的秒数
timehelper::secondendtoday();
//返回n分钟的秒数(默认为1分钟)
timehelper::secondminute(5);
//返回n小时的秒数(默认为1小时)
timehelper::secondhour(2);
//返回n天的秒数(默认为1天)
timehelper::secondday(10);
//返回n周的秒数(默认为1周)
timehelper::secondweek(4);

2. 返回友好的日期格式,比如n秒前,n分钟前,n小时前等等

一般用于社交类平台,评论,论坛等

//一共2个参数:
//第1个参数传入字符串类型的时间或者时间戳都可以,
//第2个参数为语言(默认为中文,需要英文请传入en)
timehelper::tofriendly('2022-3-2 10:15:33');
//英文
timehelper::tofriendly(1646186290, 'en');

3. 判断时间范围

//判断日期是否为今天
timehelper::istoday('2020-4-10 23:01:11');
//判断日期是否为本周
timehelper::isthisweek('2020-5-1');
//判断日期是否为本月
timehelper::isthismonth(1586451741);
//判断日期是否为今年
timehelper::isthisyear('apr 11, 2020');
//判断指定时间是星期几,不传默认为当前时间. 返回值为1-7,1为星期一,7为星期日
timehelper::getweek('2022-11-27');
//判断指定时间是否为平常日(周一到周五)
timehelper::isweekday('2023-03-08');
//判断指定时间是否为周末(周六和周日)
timehelper::isweekend(1586451741);

4. 计算两个时间相差值

如果只传入一个参数,则与当前时间比较

//计算两个日期相差天数
timehelper::diffdays('2022-4-10 23:01:11','apr 11, 2020');
//计算两个日期相差周数
timehelper::diffweeks('2022-4-10 23:01:11');
//计算两个日期相差月数
timehelper::diffmonths(1586451741,'apr 11, 2020');
//计算两个日期相差年数
timehelper::diffyears('2022-4-10 23:01:11','apr 11, 2020');

5. 返回n小时/天/星期/月/年前或者后的时间戳

只传入1个参数以当前时间计算,传入第2个参数则以该时间计算,传入第3个参数为true,则时间取整

//返回指定时间3分钟前0秒的时间戳
timehelper::beforeminute(3,'2022-3-2 10:15:33',true);
//返回当前时间5分钟后的时间戳
timehelper::afterminute(5);
//返回指定时间1小时前的时间戳(请注意此用法为php8之后的用法)
timehelper::beforehour(datetime:'apr 11, 2020');
//返回2小时后的时间戳
timehelper::afterhour(2);
//返回15天前0点的时间戳
timehelper::beforeday(15,null,true);
//返回15天后的时间戳
timehelper::afterday(15);
//返回指定时间2星期前的时间戳
timehelper::beforeweek(2,'2022-4-10 23:01:11');
//返回指定时间10星期后的时间戳
timehelper::afterweek(10,1646360133);
//返回指定时间1个月前的时间戳(请注意此用法为php8之后的用法)
timehelper::beforemonth(datetime:1646360133);
//返回5个月后的时间戳
timehelper::aftermonth(5);
//返回指定时间3年前的时间戳
timehelper::beforeyear(3,'2022-7-11');
//返回2年后的时间戳
timehelper::afteryear(2);

6.获取当前秒级/毫秒级/微秒级/纳秒级的时间戳

生成订单号或者与其他编程语言对接时可能会用到

//获取秒级的时间戳,可用time()代替
timehelper::gettimestamp();
//获取毫秒级的时间戳
timehelper::getmillitimestamp();
//获取微秒级的时间戳
timehelper::getmicrotimestamp();
//获取纳秒级的时间戳
timehelper::getnanotimestamp();

7.日期转换

用于爬虫爬取网页或第三方程序对接时,时间格式不统一的转换

//将任意格式的时间转换为指定格式
//第一个参数是时间格式,与系统函数date()的格式保持一致
//第二个参数则是任意格式的时间日期,不传则默认为当前时间,可用系统函数date()代替
timehelper::format('y-m-d h:i:s','may 3, 2022');
//判断一个字符串是否为时间戳,是返回true,否返回false
timehelper::istimestamp(1646360133);
//将任意时间类型的字符串转为时间戳
timehelper::totimestamp('apr 11, 2020');

8.平闰年相关

比原生方法使用起来更方便

//判断是否为闰年,是返回true,否返回false
timehelper::isleapyear('2020-3-2 10:15:33');
//判断该日期的当年有多少天
timehelper::daysinyear(1646360133);
//判断该日期的当月有多少天
timehelper::daysinmonth('apr 11, 2020');

9.时区相关 🆕

主要提供获取不同时区的时间和转换不同时区的时间的方法

//将任意格式的时间或时间戳转换为指定时区的时间
//第一个参数为要转换的目标时区
//第二个参数为原时区,不传则默认为当前时区
//第三个参数为任意格式的时间或时间戳,不传则默认为当前时间
//第四个参数为时间格式,与系统函数date()的格式保持一致,不传则默认为y-m-d h:i:s
timehelper::timezoneformat('europe/london', 'asia/shanghai', '2023-8-15 19:16:43', 'h:i:s');
//获得当前洛杉矶的时间
timehelper::timezoneformat('america/los_angeles');
//将洛杉矶时间转换为伦敦时间
timehelper::timezoneformat('europe/london', 'america/los_angeles', 'aug 15, 2023 10:15:33', 'h:i:s');
//将时间戳转换为伦敦时间
timehelper::timezoneformat('europe/london', null, 1692097543);

所支持的时区列表请参考时区列表

10.国内节假日/工作日相关 🔥

专门针对国内的节假日进行判断,目前包含2020年-2023年的节假日数据,后续也会持续更新.

为了便于维护,另起了一个类chinaholiday,同样可以传入任意类型的时间格式或时间戳

use zjkal\chinaholiday;
//判断指定日期是否为国内的工作日
chinaholiday::isworkday('2023-01-23');
//判断指定日期是否为国内的节假日
chinaholiday::isholiday(1646360133);

 特别说明:

所有时间的方法都可以传入任意格式的时间或者时间戳, 但是有一点请注意 m/d/y 或 d-m-y

格式的日期,如果分隔符是斜线(/),则使用美洲的 m/d/y 格式。如果分隔符是横杠(-)或者点(.),则使用欧洲的 d-m-y

格式。为了避免潜在的错误,您应该尽可能使用 yyyy-mm-dd 格式或其他格式.

📖开源协议

timehelper遵循mit开源协议, 意味着您无需任何授权,即可免费将timehelper应用到您的项目中

以上就是timehelper简单快捷php日期时间助手类库使用详解的详细内容,更多关于php timehelper日期时间助手类库的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com