PHP怎样获得最近一个周一和上周一的日期?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎样获得最近一个周一和上周一的日期?相关的知识,希望对你有一定的参考价值。
本周周一的日期:
$ts = time();$this_monday = this_monday($ts);
echo date('Y-m-d H:i:s', $this_monday);
//这个星期的星期一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function this_monday($timestamp=0,$is_return_timestamp=true)
static $cache ;
$id = $timestamp.$is_return_timestamp;
if(!isset($cache[$id]))
if(!$timestamp) $timestamp = time();
$monday_date = date('Y-m-d', $timestamp-86400*date('w',$timestamp)+(date('w',$timestamp)>0?86400:-/*6*86400*/518400));
if($is_return_timestamp)
$cache[$id] = strtotime($monday_date);
else
$cache[$id] = $monday_date;
return $cache[$id];
上周一的函数则为
$ts = time();$last_monday = last_monday($ts);
echo date('Y-m-d H:i:s', $last_monday);
//上周一
// @$timestamp ,某个星期的某一个时间戳,默认为当前时间
// @is_return_timestamp ,是否返回时间戳,否则返回时间格式
function last_monday($timestamp=0,$is_return_timestamp=true)
static $cache ;
$id = $timestamp.$is_return_timestamp;
if(!isset($cache[$id]))
if(!$timestamp) $timestamp = time();
$thismonday = this_monday($timestamp) - /*7*86400*/604800;
if($is_return_timestamp)
$cache[$id] = $thismonday;
else
$cache[$id] = date('Y-m-d',$thismonday);
return $cache[$id];
参考技术A
获取本周一
echo date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600));
echo date('Y-m-d', strtotime('-1 monday', time()));
顺便说,上面的人写的什么 shit
php一行代码获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期
http://blog.csdn.net/sasa12121212/article/details/54908305 <?php //本周一 echo date(‘Y-m-d‘, (time() - ((date(‘w‘) == 0 ? 7 : date(‘w‘)) - 1) * 24 * 3600)); //w为星期几的数字形式,这里0为周日 //本周日 echo date(‘Y-m-d‘, (time() + (7 - (date(‘w‘) == 0 ? 7 : date(‘w‘))) * 24 * 3600)); //同样使用w,以现在与周日相关天数算 //上周一 echo date(‘Y-m-d‘, strtotime(‘-1 monday‘, time())); //无论今天几号,-1 monday为上一个有效周未 //上周日 echo date(‘Y-m-d‘, strtotime(‘-1 sunday‘, time())); //上一个有效周日,同样适用于其它星期 //本月一日 echo date(‘Y-m-d‘, strtotime(date(‘Y-m‘, time()) . ‘-01 00:00:00‘)); //直接以strtotime生成 //本月最后一日 echo date(‘Y-m-d‘, strtotime(date(‘Y-m‘, time()) . ‘-‘ . date(‘t‘, time()) . ‘ 00:00:00‘)); //t为当月天数,28至31天 //上月一日 echo date(‘Y-m-d‘, strtotime(‘-1 month‘, strtotime(date(‘Y-m‘, time()) . ‘-01 00:00:00‘))); //本月一日直接strtotime上减一个月 //上月最后一日 echo date(‘Y-m-d‘, strtotime(date(‘Y-m‘, time()) . ‘-01 00:00:00‘) - 86400); //本月一日减一天即是上月最后一日
以上是关于PHP怎样获得最近一个周一和上周一的日期?的主要内容,如果未能解决你的问题,请参考以下文章
Qt-QCalendarWidget只能选中周一及获取更新日期
获取星期一和星期日等。对于任何日期作为 Unix 中的参数一周