php 设置友好时间
public static function formatTime($time)
{
if (is_int($time)) {
$time = intval($time);
} elseif ($time instanceof Carbon) {
$time = intval(strtotime($time));
} else {
return '';
}
$ctime = time();
$t = $ctime - $time; //时间差 (秒)
if ($t < 0) {
return date('Y-m-d', $time);
}
$y = intval(date('Y', $ctime) - date('Y', $time));//是否跨年
/**/
$today=strtotime(date('Y-m-d',strtotime('0 day')));
if($time > $today) {//一天内
$text = '今天'.date(" H:i",$time); // 一天内
} elseif ($t < 2592000) {//30天内
if ($time > strtotime(date('Ymd', strtotime("-1 day")))) {
$text = '昨天'.date(" H:i",$time);
} elseif ($time > strtotime(date('Ymd', strtotime("-2 days")))) {
$text = '前天'.date(" H:i",$time);
} else {
$text = floor($t / 86400) . '天前';
}
} elseif ($t < 31536000 && $y == 0) {//一年内 不跨年
$m = date('m', $ctime) - date('m', $time) - 1;
if ($m == 0) {
$text = floor($t / 86400) . '天前';
} else {
$text = $m . '个月前';
}
} elseif ($t < 31536000 && $y > 0) {//一年内 跨年
$text = (12 - date('m', $time) + date('m', $ctime)) . '个月前';
} else {
$text = (date('Y', $ctime) - date('Y', $time)) . '年前';
}
return $text;
}
php 设置友好时间的更多相关文章
- .NET Core 中使用 Humanizer 显示友好时间格式
今天在将一个 .net framework 项目迁移至 .net core 的过程中,在迁移到显示友好时间格式(比如“1分钟前”,“1小时前”)的代码时,找了找看有没有对应的开源库,结果找到了 Hum ...
- 使用AIDL调用远程服务设置系统时间
在实际工作中,经常遇到客户需要用代码设置系统时间的需求,但是Android非系统应用是无法设置系统时间的.于是,我设计了一个使用系统签名的时间设置服务,客户通过bind调用服务里的方法就能达到设置时间 ...
- redis中的key设置过期时间
EXPIRE key seconds 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除. 在 Redis 中,带有生存时间的 key 被称为『易失的 ...
- hwclock 显示或设置CMOS时间
显示或设置CMOS时间 hwclock [options] 选项 -r 默认选项,读取并打印CMOS时间 -s 将CMOS时间设置为系统时间 - ...
- date 显示或设置系统时间和日期
显示或设置系统时间和日期 date [options] [+format] date [options] [new date] date用来显示系统的时间和日期,超级用户可以使用date来更改系统时钟 ...
- MySQL设置当前时间为默认值的方法
方法一.是用alert table语句: 复制代码代码如下: use test_db1; create table test_ta1( id mediumint(8) unsigned not nul ...
- 安装xampp无法设置默认时间的坑
xampp无法设置默认时间,修改了时间还是无效 [Date] ; Defines the default timezone used by the date functions ; http://ph ...
- redis 一二事 - 设置过期时间,以文件夹形式展示key显示缓存数据
在使用redis时,有时回存在大量数据的时候,而且分类相同,ID相同 可以使用hset来设置,这样有一个大类和一个小分类和一个value组成 但是hset不能设置过期时间 过期时间只能在set上设置 ...
- Qt设置系统时间(使用SetSystemTime API函数)
大家都知道Qt中有QDateTime等有关时间与日期的类,类中包含很多成员函数,可以很方便的实现有关时间与日期的操作,比如:想要获得系统当前的时间与日期,可以调用currentDateTime(); ...
- C# UdpClient 设置超时时间
/********************************************************************** * C# UdpClient 设置超时时间 * 说明: ...
随机推荐
- RocketMQ原理—5.高可用+高并发+高性能架构
大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Bro ...
- 四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)
四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用) @ 目录 四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解 ...
- Linux 文件压缩和解压缩命令
Linux 文件压缩和解压缩命令 在Linux操作系统中,文件压缩和解压缩是日常管理和维护任务中的重要一环.通过压缩文件,可以显著减少存储空间的使用,并加快网络传输速度.Linux提供了多种压缩和解压 ...
- .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
昨天线上有几个进程因为 StackOverFlowException 导致进程 Crash 了,但是 TCP 请求还是可以连接,具体可不可以连接一个出现StackOverFlowException的微 ...
- linux mint下安装截图工具
在linux下尝试了多款截图工具,综合下来,觉得shutter是最好用的,推荐大家使用. Shutter 是一个强大的截图工具,强大的功能集成到一个直观的简洁界面,应用程序自带多个区域截图(如全屏,选 ...
- LVGL 8.3.0常用函数快速使用
LVGL 8.3.0使用快速上手教程(使用篇) 定义页面通用样式style // 创建页面样式 static lv_style_t style; lv_style_init(&style); ...
- 让Typecho支持Emoji表情,解决报错:Database Query Error
最近在使用一个主题时,看到搭配emoji表情可以让改主题更加美观,于是我就上了,结果在将emoji表情放进去保存的时候报错:Database Query Error,于是问起了度娘.最后的结果是: 在 ...
- 探秘Transformer系列之(11)--- 掩码
探秘Transformer系列之(11)--- 掩码 目录 探秘Transformer系列之(11)--- 掩码 0x00 概述 0x01 需求 1.1 避免偏差 实际情况 问题所在 解决方案 1.2 ...
- 稳定且高性价比的大模型存储:携程 10PB 级 JuiceFS 工程实践
在过去两年多的时间里,随着 AI 大模型的快速发展,JuiceFS 在携程内部得到了越来越多 AI 用户的关注.目前,携程通过 JuiceFS 管理着 10PB 数据规模,为 AI 训练等多个场景提供 ...
- Qt源码阅读(二) moveToThread
Qt 源码分析之moveToThread 这一次,我们来看Qt中关于将一个QObject对象移动至一个线程的函数moveToThread 目录 Qt 源码分析之moveToThread Qt使用线程的 ...