From c397da86c68857affad401816d0b004423adf67b Mon Sep 17 00:00:00 2001 From: xucong <850806214@qq.com> Date: Thu, 15 May 2025 15:08:22 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E7=BC=BA=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E4=B8=9C=E8=A5=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/SignController.php | 2 +- vendor/topthink/think-helper/src/Time.php | 203 ++++++++++++++++++++++ 2 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 vendor/topthink/think-helper/src/Time.php diff --git a/app/api/controller/SignController.php b/app/api/controller/SignController.php index 8a4d6d7..fc80bc6 100644 --- a/app/api/controller/SignController.php +++ b/app/api/controller/SignController.php @@ -20,7 +20,7 @@ namespace app\api\controller; use app\api\logic\SignLogic; use app\common\service\ConfigServer; -class signController extends BaseApiController +class SignController extends BaseApiController { /** * showdoc diff --git a/vendor/topthink/think-helper/src/Time.php b/vendor/topthink/think-helper/src/Time.php new file mode 100644 index 0000000..92c4205 --- /dev/null +++ b/vendor/topthink/think-helper/src/Time.php @@ -0,0 +1,203 @@ + +// +---------------------------------------------------------------------- +namespace think\helper; + +class Time +{ + /** + * 返回今日开始和结束的时间戳 + * + * @return array + */ + public static function today() + { + list($y, $m, $d) = explode('-', date('Y-m-d')); + return [ + mktime(0, 0, 0, $m, $d, $y), + mktime(23, 59, 59, $m, $d, $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() + { + list($y, $m, $d, $w) = explode('-', date('Y-m-d-w')); + if($w == 0) $w = 7; //修正周日的问题 + return [ + mktime(0, 0, 0, $m, $d - $w + 1, $y), mktime(23, 59, 59, $m, $d - $w + 7, $y) + ]; + } + + /** + * 返回上周开始和结束的时间戳 + * + * @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) + { + list($y, $m, $t) = explode('-', date('Y-m-t')); + return [ + mktime(0, 0, 0, $m, 1, $y), + mktime(23, 59, 59, $m, $t, $y) + ]; + } + + /** + * 返回上个月开始和结束的时间戳 + * + * @return array + */ + public static function lastMonth() + { + $y = date('Y'); + $m = date('m'); + $begin = mktime(0, 0, 0, $m - 1, 1, $y); + $end = mktime(23, 59, 59, $m - 1, date('t', $begin), $y); + + return [$begin, $end]; + } + + /** + * 返回今年开始和结束的时间戳 + * + * @return array + */ + public static function year() + { + $y = date('Y'); + return [ + mktime(0, 0, 0, 1, 1, $y), + mktime(23, 59, 59, 12, 31, $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() + { + + } +}