分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类:

发布时间:2023-09-06 02:10责任编辑:熊小新关键词:PHP时间戳
<?phpclass Time{ ???/** ????* 返回今日开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function today() ???{ ???????return [ ???????????mktime(0, 0, 0, date(‘m‘), date(‘d‘), date(‘Y‘)), ???????????mktime(23, 59, 59, date(‘m‘), date(‘d‘), date(‘Y‘)) ???????]; ???} ????/** ????* 返回昨日开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function yesterday() ???{ ???????$yesterday = date(‘d‘) - 1; ???????return [ ???????????mktime(0, 0, 0, date(‘m‘), $yesterday, date(‘Y‘)), ???????????mktime(23, 59, 59, date(‘m‘), $yesterday, date(‘Y‘)) ???????]; ???} ????/** ????* 返回本周开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function week() ???{ ???????$timestamp = time(); ???????return [ ???????????strtotime(date(‘Y-m-d‘, strtotime("this week Monday", $timestamp))), ???????????strtotime(date(‘Y-m-d‘, strtotime("this week Sunday", $timestamp))) + 24 * 3600 - 1 ???????]; ???} ????/** ????* 返回上周开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function lastWeek() ???{ ???????$timestamp = time(); ???????return [ ???????????strtotime(date(‘Y-m-d‘, strtotime("last week Monday", $timestamp))), ???????????strtotime(date(‘Y-m-d‘, strtotime("last week Sunday", $timestamp))) + 24 * 3600 - 1 ???????]; ???} ????/** ????* 返回本月开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function month($everyDay = false) ???{ ???????return [ ???????????mktime(0, 0, 0, date(‘m‘), 1, date(‘Y‘)), ???????????mktime(23, 59, 59, date(‘m‘), date(‘t‘), date(‘Y‘)) ???????]; ???} ????/** ????* 返回上个月开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function lastMonth() ???{ ???????$begin = mktime(0, 0, 0, date(‘m‘) - 1, 1, date(‘Y‘)); ???????$end = mktime(23, 59, 59, date(‘m‘) - 1, date(‘t‘, $begin), date(‘Y‘)); ????????return [$begin, $end]; ???} ????/** ????* 返回今年开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function year() ???{ ???????return [ ???????????mktime(0, 0, 0, 1, 1, date(‘Y‘)), ???????????mktime(23, 59, 59, 12, 31, date(‘Y‘)) ???????]; ???} ????/** ????* 返回去年开始和结束的时间戳 ????* ????* @return array ????*/ ???public static function lastYear() ???{ ???????$year = date(‘Y‘) - 1; ???????return [ ???????????mktime(0, 0, 0, 1, 1, $year), ???????????mktime(23, 59, 59, 12, 31, $year) ???????]; ???} ????public static function dayOf() ???{ ????} ????/** ????* 获取几天前零点到现在/昨日结束的时间戳 ????* ????* @param int $day 天数 ????* @param bool $now 返回现在或者昨天结束时间戳 ????* @return array ????*/ ???public static function dayToNow($day = 1, $now = true) ???{ ???????$end = time(); ???????if (!$now) { ???????????list($foo, $end) = self::yesterday(); ???????} ????????return [ ???????????mktime(0, 0, 0, date(‘m‘), date(‘d‘) - $day, date(‘Y‘)), ???????????$end ???????]; ???} ????/** ????* 返回几天前的时间戳 ????* ????* @param int $day ????* @return int ????*/ ???public static function daysAgo($day = 1) ???{ ???????$nowTime = time(); ???????return $nowTime - self::daysToSecond($day); ???} ????/** ????* 返回几天后的时间戳 ????* ????* @param int $day ????* @return int ????*/ ???public static function daysAfter($day = 1) ???{ ???????$nowTime = time(); ???????return $nowTime + self::daysToSecond($day); ???} ????/** ????* 天数转换成秒数 ????* ????* @param int $day ????* @return int ????*/ ???public static function daysToSecond($day = 1) ???{ ???????return $day * 86400; ???} ????/** ????* 周数转换成秒数 ????* ????* @param int $week ????* @return int ????*/ ???public static function weekToSecond($week = 1) ???{ ???????return self::daysToSecond() * 7 * $week; ???} ????private static function startTimeToEndTime() ???{ ????}} ?>

PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类:

原文地址:https://www.cnblogs.com/zhangbaozhong/p/9483920.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved