PHP获取当前日期及本周一是几月几号的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取当前日期及本周一是几月几号的方法相关的知识,希望对你有一定的参考价值。
<?php header("content-type:text/html;charset=utf-8"); date_default_timezone_set('PRC'); function getWeek($unixTime='') $unixTime=is_numeric($unixTime)?$unixTime:time(); $weekarray=array('日','一','二','三','四','五','六','七'); return "星期".$weekarray[date('w',$unixTime)]; $var=getWeek(); switch($var) case '星期天': $var=time(); $var2=$var-(84600*6); echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期一': $var=time(); $var2=$var; echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期二': $var=time(); $var2=$var-84600; echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期三': $var=time(); $var2=$var-(84600*2); echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期四': $var=time(); $var2=$var-(84600*3); echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期五': $var=time(); $var2=$var-(84600*4); echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; case '星期六': $var=time(); $var2=$var-(84600*5); echo "今天是".date("Y-m-d",$var)."号<br/>这个星期一是".date("Y-m-d",$var2)."号"; break; ?> 参考技术A 获取当前日期:date('Y-m-d H:i:s',time())
通过一个接口,来简单说下参数构造思路
先说一下背景
app上有一个功能是查询当前一周内产生的数据,对应的请求有2个必传参数:startDate 和 endDate
其中 startDate 为当前一周的开始日期,如"周一 2019-12-02",endDate为当前一周的结束日期,如"周二 2019-12-08"
所以这次要做的就是构造这两个参数
一个简单的思考过程
1、要获取到当前的日期
2、知道当前日期对应星期几
3、根据今天的日期倒推出星期一是几月几号
4、根据周一是几月几号,再向未来延6天,就可以知道周日是几月几号
通过上述3步即可获得“当前日期”所在周的 “周一对应几月几号,周日对应几月几号”
一个简单的示意图如下:
假如今天是:周四,12月5号,那么减3天,就是周一(4-3)
假如今天是:周二,12月3号,那么减1天,就是周一(2-1)
假如今天是:周一,12月2号,那么减0天,就是周一(1-0)
编写python脚本
python中的datetime模块可以获取日期以及星期
# coding: utf-8 # author: hmk import datetime today = datetime.datetime.now() # 获取今天时间 print("今天的日期是:{}".format(today.strftime("%Y-%m-%d"))) t_week = today.weekday() print("今天是星期:{}".format(t_week))
打印结果
说明:在python中周一至周日分别对应0~6
所以当前日期减去当前星期几对应的数值,就是周一的日期了,
例如 今天是星期4,在python中对应的数值为3,星期4往前倒3天就是星期1了,也就是(4-3)
所以需要构造一个变量,用来表示需要倒退的天数
对应代码
# coding: utf-8 # author: hmk import datetime today = datetime.datetime.now() # 获取今天时间 print("今天的日期是:{}".format(today.strftime("%Y-%m-%d"))) t_week = today.weekday() print("今天是星期:{}".format(t_week)) offset = datetime.timedelta(days=t_week) # 定义一个变量,表示需要倒退的天数 start = today-offset # 当前日期减去offset,表示周一对应的日期 end = start+datetime.timedelta(days=6) # 周一的日期加上6天,表示周日的日期 print(start.strftime("%Y-%m-%d")+"~"+end.strftime("%Y-%m-%d"))
打印结果
这样就构造好 startDate 和 endDate了
以上是关于PHP获取当前日期及本周一是几月几号的方法的主要内容,如果未能解决你的问题,请参考以下文章