php 计算指定年份的周总数与及第几周的开始日期和结束日期(从周一开始)

/**
* 获取某年第几周的开始日期和结束日期
* @param int $year
* @param int $week 第几周;
*/
public function weekday($year,$week=1){
$year_start = mktime(0,0,0,1,1,$year);
$year_end = mktime(0,0,0,12,31,$year);

// 判断第一天是否为第一周的开始
if (intval(date('W',$year_start))===1){
$lastday=date("Y-m-d",strtotime(date('Y-m-d',$year_start)." Sunday"));
$start=strtotime(date("Y-m-d",strtotime($lastday."-6 days")));
//$start = $year_start;//把第一天做为第一周的开始
}else{
$start = strtotime('+1 monday',$year_start);//把第一个周一作为开始
}

// 第几周的开始时间
if ($week==1){
$weekday['start'] = $start;
}else{
$weekday['start'] = strtotime($week.' monday',$start);
}

// 第几周的结束时间
$weekday['end'] = strtotime('+1 sunday',$weekday['start']);
if (date('Y',$weekday['end'])!=$year){
$weekday['end'] = $year_end;
}
return $weekday;
}

/**
* 计算一年有多少周,每周从星期一开始,
* 如果最后一天在周四后(包括周四)算完整的一周,否则不计入当年的最后一周
* 如果第一天在周四前(包括周四)算完整的一周,否则不计入当年的第一周
* @param int $year
* return int
*/
public function week($year){
$year_start = mktime(0,0,0,1,1,$year+1);
$year_end = mktime(0,0,0,12,31,$year);

if (date('oW',$year_end)==date('oW',$year_start)){
return date('W',strtotime('last week',$year_end));
}else{
return date('W',$year_end);
}
}

转载于:https://www.cnblogs.com/lin-er/p/11295653.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux-04-磁盘命令+进程命令

磁盘管理 概述 Linux磁盘管理好坏直接关系到整个系统的性能问题。 Linux磁盘管理常用命令为 df、du。 df :列出文件系统的整体磁盘使用量du:检查磁盘空间使用量 df df df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获…

华人一作统一「视觉-语言」理解与生成:一键生成图像标注,完成视觉问答,Demo可玩...

来源:机器学习研究组订阅这个 BLIP 模型可以「看图说话」,提取图像的主要内容,不仅如此,它还能回答你提出的关于图像的问题。视觉 - 语言预训练 (Vision-Language Pre-training,VLP) 提高了许多视觉 - 语言任务的性能。…

如何做一名优秀的电子工程师[zz]

如何做一名优秀的电子工程师成为一个杰出工程师最重要的因素就是“热爱自己的职业”。毕竟兴趣是最好的老师,许多优秀的电子工程师都是从小作为电子爱好者的。爱好不仅要体现在行动中 更要深入内心甚至深入骨髓。作为工程师和科学家想取得成功并不是比赛谁花的时间最…

2020年9月25日-01-项目启动(团队分工)+带宽,网络速度的计算

此博客用于记录2020年9月25日每日分享, 大概讲讲团队里的分工合作那些事儿。 关于带宽啊,网速啊之类的一些事儿 日期:2020年9月25日 主题: 团队合作怎么合作?有什么人?一般用什么工具?诸如此类…

Python 迭代器,错误、异常处理

迭代器 迭代器可以用来遍历字符串、列表、元组、集合、字典。 myString"hello" myIteriter(myString) ##iter()函数可以获取元素集的一个迭代器 for i in myIter: #遍历每个字符print(i)myList[1,2,3,4] myIteriter(myList) for i in myIter: #遍历列表、元组、…

群体决策是如何误入歧途的

1986年,刚刚升空不久就发生爆炸的挑战者号航天飞机。© Boing Boing来源: 利维坦文:Joshua Holden译:以实马利校对:兔子的凌波微步原文:nautil.us/what-makes-group-decisions-go-wrong-and-right-1340…

2020年9月26日-02-软件工程-工程化思维+瀑布模型+敏捷开发

此博客用于记录2020年9月26日每日分享, 软件工程中的集中常见模式,瀑布模型,敏捷开发等 日期:2020年9月26日 主题: 讨论讨论怎么使用软件工程的思想来解决问题软件工程中的集中常见模式,瀑布模型&#xff…

PowerDesigner15在win7-64位系统下对MySQL 进行反向工程以及建立物理模型产生SQL语句步骤图文傻瓜式详解...

1、安装PowerDesigner15、MySQL5.不详细讲解了。网上一大把。请各位亲参考去。 2、安MyODBC-standard-3.51.0.7-win.msi、mysql-connector-odbc-5.1.5-win.msi两个文件。可以支持odbc在win7下创建连接。 3、安装好之后,最好重新启动系统。不要试图在win7控制面板内找…

转换机器学习:面向多学科问题,构建机器学习新生态

来源: 集智俱乐部作者:Ivan Olier译者:郭瑞东审校:张澳编辑:邓一雪导语机器学习方法在生命、物理、社会经济等复杂系统的应用日渐频繁。如何针对特定任务选取合适的机器学习方法,如何综合利用各类机器学习方…

后端好的文章推荐

文章目录redismysqljava小牛肉笔记杂项vuespringmybatisspringboot运维jenkinslinuxdocker项目计算机四大件计算机网络设计模式好奇心redis 缓存穿透、缓存击穿、缓存雪崩区别和解决方案 Redis、Kafka 和 Pulsar 消息队列对比 mysql MySQL数据库主从同步 java 小牛肉笔记 …

nginx正向代理 反向代理

1、正向代理 1.我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站 2.于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。 3.客户端必须设置正向代理…

【综述专栏】从微分几何和代数拓扑的视角来重新探讨图神经网络

来源:知乎—努力努力再努力q地址:https://zhuanlan.zhihu.com/p/435040892在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可…

2021-07-27-jeesite学习笔记

2021年7月30日 https://blog.csdn.net/weixin_43886319/article/details/102668518 日了狗 2021年7月29日 sqlJenkins充吧 第一天 参考博文 安装jdk https://blog.csdn.net/qq_42815754/article/details/82968464 有关linux环境变量 https://blog.csdn.net/ljheee/articl…

nuxt项目打包上线之二

之前写过一篇nuxt打包上线的文章,请看这里:https://www.cnblogs.com/daisygogogo/p/11218809.html 上一篇文章的部署流程有点不好的地方,就是它适用于只有唯一一个后台接口路径的部署,不适合需要根据多个环境切换后台接口的情况。…

elasticsearch-1

单实例安装 1、官网下载tar压缩包 https://www.elastic.co/downloads/elasticsearch 2、将下载好的压缩包elasticsearch-5.5.2.tar.gz上传到linux服务器,并解压缩 tar -vxf elasticsearch-5.5.2.tar.gz 3、cd进入到elasticsearch-5.5.2目录中,启动ela…

清华博士后用10分钟讲解AlphaCode背后的技术原理,原来程序员不是那么容易被取代的!...

来源:AI科技评论不久前,DeepMind 的团队发布了一个可以自动生成竞赛级代码的人工智能系统——AlphaCode,号称「媲美普通程序员」,一经发表就在国内外的AI圈里引起了巨大轰动。 -论文地址:https://storage.googleapis.c…

(SQLlite3 Source Code 系列之一) 前言

(写在前前面, 研究什么都是要 Read the fucking source code ! 否则就是雾里看花。当然分析源码是很痛苦的过程,人都是想走捷径的,但是我的经验告诉我:选择不走捷径才是真正的捷径。记住了,出来混&#xff…

css基础选择器

文章目录css简介css语法规范css代码风格:css选择器的作用css基础选择器标签选择器:类选择器多类名选择器id选择器:id选择器和类选择器的区别:通配符选择器:选择器总结css简介 ​ CSS 是层叠样式表 ( Cascading Style …

深度学习模型模拟大脑地形图,有助于回答大脑不同部分如何协同工作

来源:ScienceAI编辑:凯霞大脑中处理视觉信息的部分——颞下(IT)皮层——受损可能是毁灭性的,尤其是对成年人而言。那些受影响的人可能会失去阅读能力(一种称为失读症的疾病)或辨认面孔&#xff…

深度学习再登Science:万物皆可做神经网络处理器,你甚至可以用锅碗瓢盆

来源:机器学习研究组订阅想象一下,你周围的任何东西,比如一个煎锅、一个玻璃镇纸,都可以用来当成神经网络的中央处理器,那是什么感觉?神经网络简单来说,是一种模仿大脑执行复杂任务的只能系统&a…