当前位置: 首页 > news >正文

thinkphp8下carbon的使用示例

composer require nesbot/carbon
use Carbon\Carbon; use think\response\Json; class Demo { public function index(): string { // 全局设定(一次即可) date_default_timezone_set('Asia/Shanghai'); Carbon::setLocale('zh_CN'); // 当前时间对象 $now = Carbon::now(); // 返回格式化后的字符串 return $now->toDateString(); // 年月日 // return $now->toDateTimeString(); // 年月日时分秒 } /** * 计算时间差 */ public function calc(): Json { $signIn = '2025-12-11 08:32:15'; $signOut = '2025-12-11 17:45:30'; $start = Carbon::parse($signIn); $end = Carbon::parse($signOut); // 拿到 DateInterval $diff = $start->diff($end); // 时、分 $hours = $diff->h; $minutes = $diff->i; // 拼成想要的格式 $duration = "{$hours}小时{$minutes}分钟"; $data = [ 'duration' => $duration, ]; return json($data); } public function getPeriod(): string { $now = Carbon::now(); $hour = $now->hour; if ($hour >= 0 && $hour < 3) { $period = 'Midnight'; // 00:00 - 02:59 } elseif ($hour >= 3 && $hour < 6) { $period = 'Dawn'; // 03:00 - 05:59 } elseif ($hour >= 6 && $hour < 12) { $period = 'Morning'; // 06:00 - 11:59 } elseif ($hour == 12) { $period = 'Noon'; // 12:00 } elseif ($hour > 12 && $hour < 17) { $period = 'Afternoon'; // 13:00 - 16:59 } elseif ($hour >= 17 && $hour < 21) { $period = 'Evening'; // 17:00 - 20:59 } else { $period = 'Night'; // 21:00 - 23:59 } return $period; } // 判断是否可以报名 public function canApply(): string { $start = Carbon::parse('2025-12-12 10:30:00'); $now = Carbon::now(); $result = $now->lt($start); // 当前时间 < 活动开始 → 可以报名 if ($result) { return '可以报名'; } else { return '不可以报名'; } } // 判断是否可以打卡 public function canSign(): string { $start = '2025-12-12 10:30'; $end = '2025-12-20 17:00'; $start = Carbon::parse($start); $end = Carbon::parse($end); $now = Carbon::now(); $result = $now->between($start, $end); // 当前时间在区间内 → 可以打卡 if ($result) { return '可以打卡'; } else { return '不可以打卡'; } } }
http://www.cnnetsun.cn/news/8369.html

相关文章:

  • 【量子模拟器开发新突破】:VSCode扩展实战指南,提升开发效率90%
  • 关于内联函数的理解学习
  • Whisper部署实战手册:从环境配置到性能调优的完整解决方案
  • 昇腾AI:不只是一颗芯片,更是一个时代的算力答案
  • 6、网络服务枚举与安全防护全解析
  • 8、Windows系统认证攻击与防范全解析
  • Linux网络参数:现代内核的智能优化之道
  • C# 随机数添加数组对象和数组的查询方法
  • RouterOS 7.19 x86深度技术解析:网络协议优化与系统稳定性关键技术
  • 你还在盲调量子电路?这3个VSCode插件让你秒变QML调试高手
  • RAG知识库——怎么构建一个高质量的知识库
  • 以向善价值观构建数字信任,数美2025 AI风控大会重磅发布“AI风控新范式”
  • 终极嵌入式按键解决方案:MultiButton状态机库实战指南
  • ZyPlayer终极配置指南:3步打造专属影院级体验
  • gmhelper:5分钟快速掌握国密算法SM2/SM3/SM4的完整应用方案
  • 19、高级Shell编程与正则表达式过滤器
  • PHP兼容性检查工具完整指南
  • 基于元胞自动机交通模型的三车道Matlab代码:模拟车辆多车道行驶及可视化分析系统
  • 豆包手机二手价被炒到3.6万元;被曝开发“芯片定位”技术,英伟达:这不是后门;千问月活突破3000万 | 极客头条
  • Wan2.2-T2V-A14B适合哪些行业?五大垂直领域推荐
  • 基于西门子S7-200PLC的自动灌溉系统组态王组态 带解释的梯形图程序,接线图原理图图纸,io分配
  • 机器学习驱动的智能化电池管理技术与应用
  • 如何优化MinerU项目的PaddleOCR模型部署效率
  • SVG.js动画开发终极指南:从入门到精通
  • Python 对象序列化与存储库pickle详细介绍
  • 圣诞快乐!来自代码世界的祝福
  • 一致性的威力:AI如何在B/G端释放数据治理的真正生产力
  • 知行之桥三种接口详解:Webhook、Flow API 与 Admin API
  • CPFEM晶塑动态展示:VUMAT子程序高效率与多维度模型应用测试
  • 毕业设计实战:基于SpringBoot+MySQL的旅游网站设计与实现,从需求到测试全流程拆解,新手也能轻松通关!