获取任意时间段内周、季度、半年的二级联动
#需求是获取两个时间内 年周 、年季度、年半年的二级联动#
找了半天也找不到什么有用的信息 就自己简单写了一个 思路是先获取年的列表再去嵌套查询
根据前端VUE提供的格式嵌套
public function getDate(){$leixing = Request::param('leixing');$larr = array('1','2','3','4');if(empty($leixing)){echo apireturn(201,'类型不正确','');die;}else{if(!in_array($leixing,$larr)){echo apireturn(201,'类型不正确','');die;}}$start = '2023-01-01';$start_time = strtotime($start);$end_time = time();$start_year = date('Y',$start_time);$end_year = date('Y',$end_time);$year_arr = array();if($start_year == $end_year){array_push($year_arr,$start_year);}else{//获取年份for($i=$end_year;$i>=$start_year;$i--){array_push($year_arr,(string)$i);} }$array = array();foreach ($year_arr as $k => $v){if($leixing == 1){$week_arr = array();//取周数if($end_year == $v){$endzhounum = date('W',time()+86400);if($start_year == $v){$startzhounum = intval(date('W',$start_time+86400));}else{$startzhounum = 1;}//获取周数for($i=$endzhounum;$i>=$startzhounum;$i--){array_push($week_arr,'第'.$i.'周');} }else{$year = $v."-01-01";$time = strtotime($year);$yearLastDay = strtotime("-1 day", strtotime("+1 year", $time));$endzhounum = date('W',$yearLastDay);if($start_year == $v){$startzhounum = date('W',$start_time+86400);}else{$startzhounum = 1;}//获取周数for($i=$endzhounum;$i>=$startzhounum;$i--){array_push($week_arr,'第'.$i.'周');} }$array[$v.'年'] = $week_arr;}else if($leixing == 2){$quarter_arr = array();//取周数if($end_year == $v){$endjinum = ceil(date('n',time()+86400)/3);if($start_year == $v){$startjinum = ceil(date('n',$start_time+86400)/3);}else{$startjinum = 1;}//获取周数for($i=$endjinum;$i>=$startjinum;$i--){array_push($quarter_arr,'第'.$i.'季度');} }else{$year = $v."-01-01";$time = strtotime($year);$yearLastDay = strtotime("-1 day", strtotime("+1 year", $time));$endjinum = ceil(date('n',$yearLastDay)/3);if($start_year == $v){$startjinum = ceil(date('n',$start_time+86400)/3);}else{$startjinum = 1;}//获取周数for($i=$endjinum;$i>=$startjinum;$i--){array_push($quarter_arr,'第'.$i.'季度');} }$array[$v.'年'] = $quarter_arr;}else if($leixing == 3){$banyear_arr = array();//取周数if($end_year == $v){$endjinum = ceil(date('n',time()+86400)/6);if($start_year == $v){$startjinum = ceil(date('n',$start_time+86400)/6);}else{$startjinum = 1;}//获取周数for($i=$endjinum;$i>=$startjinum;$i--){if($i == 1){array_push($banyear_arr,'上半年');}else{array_push($banyear_arr,'下半年');}} }else{$year = $v."-01-01";$time = strtotime($year);$yearLastDay = strtotime("-1 day", strtotime("+1 year", $time));$endjinum = ceil(date('n',$yearLastDay)/6);if($start_year == $v){$startjinum = ceil(date('n',$start_time+86400)/6);}else{$startjinum = 1;}//获取周数for($i=$endjinum;$i>=$startjinum;$i--){if($i == 1){array_push($banyear_arr,'上半年');}else{array_push($banyear_arr,'下半年');}} }$array[$v.'年'] = $banyear_arr;}else if($leixing == 4){$array = $year_arr;}}echo apireturn(200,'success',$array);die;}
leixing的值为1 查询年-周、2为年-季度、3年-半年、4年
运行结果如下(年-季度)
{"status": 200,"msg": "success","data": {"2023年": ["第4季度","第3季度","第2季度","第1季度"]}
}
#开始时间目前是写死的 可以根据自己需求修改#
相关文章:
获取任意时间段内周、季度、半年的二级联动
#需求是获取两个时间内 年周 、年季度、年半年的二级联动# 找了半天也找不到什么有用的信息 就自己简单写了一个 思路是先获取年的列表再去嵌套查询 根据前端VUE提供的格式嵌套 public function getDate(){$leixing Request::param(leixing);$larr array(1,2,3,4);if(empty(…...
前端面试系列之工程化篇
如果对前端八股文感兴趣,可以留意公重号:码农补给站,总有你要的干货。 前端工程化 Webpack 概念 本质上,webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个…...
京东按关键词搜索商品列表接口:竞品分析,商品管理,营销策略制定
京东搜索商品列表接口是京东开放平台提供的一种API接口,通过调用该接口,开发者可以获取京东平台上商品的列表数据,包括商品的标题、价格、库存、月销量、总销量、详情描述、图片等信息。 接口的主要作用包括: 市场调研ÿ…...
Microsoft Dynamics 365 CE 扩展定制 - 9. Dynamics 365扩展
在本章中,我们将介绍以下内容: Dynamics 365应用程序Dynamics 365通用数据服务构建Dynamics 365 PowerApp使用Flow在CDS和Dynamics 365之间移动数据从AppSource安装解决方案使用数据导出服务解决方案进行数据复制从CRM数据构建Power BI仪表板简介 多年来,Dynamics CRM已从一…...
多篇论文介绍-Wiou
论文地址 目录 https://arxiv.org/pdf/2301.10051.pdf 01 CIEFRNet:面向高速公路的抛洒物检测算法 02改进 YOLOv5 的 PDC 钻头复合片缺损识别 03 基于SimAM注意力机制的DCN-YOLOv5水下目标检测 04 基于改进YOLOv7-tiny 算法的输电线路螺栓缺销检测 05 基于改…...
Django介绍,安装,创建
文章目录 1. web应用程序1.1 什么是web?1.2 web应用程序的优点1.3 web应用程序的缺点1.4 什么是web框架? 2. 手撸web框架 1. web应用程序 1.1 什么是web? Web应用程序是一种可以通过Web访问的应用程序,用户只需要有浏览器即可,不需要再安装其他软件 案…...
Java通过javacv获取视频、音频、图片等元数据信息(分辨率、大小、帧等信息)
相信我们都会或多或少需要给前端返回视频或者音频的一些信息,那么今天这篇文章通过Java语言使用javacv来获取视频、音频、图片等元数据信息(分辨率、大小、帧等信息) 一、首先导入依赖 可以先导入javacv/javacv-platform依赖,由于依赖比较大,所以我们可以先去除部分不需…...
flask和fastapi的区别以及demo实现
flask和fastapi的区别以及demo实现 flask和fastapi的区别fastapi简单demoFastAPI包括全局异常捕捉和参数验证的demoflask和fastapi的区别 Flask:Flask是一个轻量级的Web框架,它提供了最基本的工具,可以自由选择其他库和组件来构建应用。灵活性:Flask允许用户自由选择数据库、…...
python特殊循环队列_队中元素个数代替队尾指针
对于循环队列来说,如果知道队头指针和队中元素个数,则可以计算出队尾指针。也就是说,可以用队中元素个数代替队尾指针。设计出这种循环队列的判队空、进队、出队和取队头元素的算法。 本例的循环队列包含data 数组、队头指针 front和队中元素…...
什么是观察者模式?用 Python 如何实现 Observer(观察者或发布订阅)对象行为型模式?
什么是观察者模式? 观察者模式(Observer pattern)是一种行为型设计模式,它允许对象之间建立一种一对多的依赖关系,当一个对象的状态发生变化时,其相关依赖对象都会得到通知并自动更新。 在观察者模式中&am…...
pytorch直线拟合
目录 1、数据分析 2、pytorch直线拟合 1、数据分析 直线拟合的前提条件通常包括以下几点: 存在线性关系:这是进行直线拟合的基础,数据点之间应该存在一种线性关系,即数据的分布可以用直线来近似描述。这种线性关系可以是数据点…...
相机传感器
相机的传感器大小通常用英寸(1英寸2.54厘米)来表示。例如:全画幅相机的传感器大小为:36mm*24mm,称为 35mm全画幅。 几分之一英寸 所谓的 1/2.7,1/2.5等等,里面的分子1是一个标准,分…...
大语言模型的关键技术
大语言模型的关键技术: 经过漫长的发展,LLM 进化到了当前的状态——通用且有能力的学习者。在这个过程中,人们提出了许多重要的技术,大大提升了 LLM 的能力。在此,我们简要列举了几种重要的技术,这些技术&a…...
uniapp使用vur-cli新建项目并打包
新建项目 npm install -g vue/cli vue create -p dcloudio/uni-preset-vue my-project选择默认模板npm run dev:h5 运行 安装sass和uview (npm安装失败) bug:使用uni.scss中的变量或样式,<style lang"scss"> 必…...
后台管理系统解决方案-中大型-Vben Admin
后台管理系统解决方案-中大型-Vben Admin 官网 Vben Admin 在线演示 Vben Admin 为什么选择它 github现有20K星,并且它有个可视化生成表单,我很喜欢 快速开始 # 拉取代码 git clone https://github.com/vbenjs/vue-vben-admin-doc# 安装依赖 yarn#…...
通俗理解repartition和coalesce区别
官方的解释 reparation 返回一个具有恰好numPartitions分区的新RDD。 可以增加或减少此RDD中的并行级别。在内部,reparation会使用shuffle来重新分发的数据。 如果要减少此RDD中的分区数量,请考虑使用coalesce,这样可以避免执行shuffle。 coalesce 返回一个新的RDD,该RDD被…...
优雅设计之美:实现Vue应用程序的时尚布局
本文为翻译文章,原文链接: ** https://fadamakis.com/clean-layout-architecture-for-vue-applications-a738201a2a1e 前言 页面布局是减少代码重复和创建可维护且具有专业外观的应用程序的基本模式。如果使用的是Nuxt,则可以提供开箱即用…...
05预测识别-依托YOLO V8进行训练模型的识别——对视频中的目标进行跟踪统计
上文中详细介绍了如何对视频进行抽帧,并对帧的图像进行目标识别。但在日常工作中,我们也会遇到需要对目标进行跟踪统计的情况,比如我们需要连续统计某一类目标有多少个的时候,如果单纯从帧中抽取图像的话,系统将无法判断是否为同一目标,从而造成目标数量统计的重复,导致…...
Android Studio(意图Intent)
前言 意图的作用:页面的跳转(从一个页面跳转到另一个页面)。 意图的创建:需要哪些参数?首先,从哪个页面跳转到哪个页面;其二,跳转到另一个页面需要携带数据吗。 下面介绍顺序&#x…...
Bean作用域
从笔者之前的博客,我们可以看出 Spring 是⽤来读取和存储 Bean,因此在 Spring 中 Bean 是最核⼼的操作 资源,所以接下来我们深⼊学习⼀下 Bean 对象:Bean作用域! 限定程序中变量的可用范围叫做作用域!或者…...
AI智能体服务化实战:从单体Agent到生产级工具箱架构解析
1. 项目概述:一个为AI智能体服务的工具箱最近在折腾AI智能体(Agent)相关的项目,发现一个挺有意思的现象:很多开发者,包括我自己在内,在初期都会陷入一个“重复造轮子”的困境。每次启动一个新Ag…...
微信聊天记录完整导出终极指南:3步实现永久保存与智能管理
微信聊天记录完整导出终极指南:3步实现永久保存与智能管理 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter WeChatExporter是一款专为iOS用户设计的开源工具&a…...
Llama-3.2V-11B-cot 企业级应用:基于SpringBoot构建智能客服工单系统
Llama-3.2V-11B-cot 企业级应用:基于SpringBoot构建智能客服工单系统 每次看到客服同事在工单系统里,手动一张张点开用户上传的截图,费力地识别里面的错误代码或者产品瑕疵,然后复制粘贴、分类、写回复,我就觉得这事儿…...
深度学习分类变量编码方法全解析
1. 深度学习中的分类变量编码方法解析在机器学习项目中,我们经常会遇到包含分类变量的数据集。这些变量代表的是离散的类别而非数值,比如颜色(红/绿/蓝)、产品类型(A/B/C)等。但所有深度学习模型都要求输入…...
VSCode实时协作权限失控危机(2026 Beta用户实测:83%团队遭遇越权编辑),这份ACL策略清单请立刻保存
更多请点击: https://intelliparadigm.com 第一章:VSCode 2026实时协作权限失控的真相与影响 VSCode 2026 引入的 Live Share v4.2 协作引擎在默认配置下启用了隐式跨会话资源继承机制,导致用户在加入他人会话时,其本地工作区 .…...
大数据分析专业京东电子数码产品销量评价数据集,数据量大约35000条
大数据分析专业京东电子数码产品销量评价数据集,数据量大约35000条,可以用于做数据分析毕设字段包含:订单编号 用户ID 下单时间 商品一级分类 商品名称 单价 销量(件) 订单总金额 支付方式 收货地区 订单状态 用户评分 用户评价数据详情参考&…...
Google ADK:代码优先的AI Agent开发框架,构建可维护的智能体应用
1. 项目概述:为什么我们需要一个“代码优先”的Agent框架? 如果你和我一样,在过去一两年里尝试过构建AI Agent应用,大概率经历过这样的场景:一开始兴致勃勃,用LangChain或者AutoGen这类流行框架快速搭了个…...
智用开物完成近亿元天使+轮融资,多产品矩阵驱动工业场景AI应用落地
硬氪获悉,工业智能体及高价值应用公司智用开物完成近亿元天使轮融资,资金将用于建设“工业语义引擎”及研发制造业高价值岗位智能体。该公司已形成三大产品矩阵,成果获头部客户验证。融资情况 智用开物近日完成近亿元天使轮融资,由…...
医疗器械管代的职责
医疗器械管代的职责 医疗器械管代(质量管理负责人)是医疗器械生产企业中负责质量管理体系建立、实施和保持的关键人员,主要职责包括以下几个方面: 质量管理体系建立与维护 负责组织制定、实施和保持符合医疗器械相关法规和标准的质…...
Weka数据预处理:离散化与虚拟变量实战指南
1. 数据预处理在机器学习中的重要性在机器学习项目中,原始数据很少能直接用于建模。就像一位经验丰富的厨师不会直接把刚从菜市场买来的食材扔进锅里一样,数据科学家也需要对原始数据进行适当的处理和转换。Weka作为一款强大的机器学习工具,提…...
