PHP获取本周第一天和最后一天

纸牌屋弗兰克 2014-02-19 03:18:39

//本周的第一天和最后一天
$date=new DateTime();
$date->modify('this week');
$first_day_of_week=$date->format('Y-m-d');
$date->modify('this week +6 days');
$end_day_of_week=$date->format('Y-m-d');

用PHP获取本周第一天和最后一天,网上有很多方法,用的函数,感觉太麻烦,而且有的有bug,官方既然自带了一个DateTime类,为何很少看见有人使用?这是在一个外国网站看到的回答,这个方法可靠吗?
...全文
6170 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
上山割猪草 2016-07-22
  • 打赏
  • 举报
回复
我只能说这个才是最符合国情的方法

function week($format=''){
    $w = date('w');
    $week = $w==0?'last week ':'this week ';
    return strtotime($week.$format);
}
echo date('Y-m-d w',week());
echo '<br>';
echo date('Y-m-d w',week('Sunday'))
qq_22218307 2016-01-03
  • 打赏
  • 举报
回复
echo date('Y-m-d w', strtotime('this week'));
echo '<hr/>';
echo date('Y-m-d w', strtotime('last day this week'));
2016-01-04 1 2016-01-03 0
chenpy1992 2014-06-20
  • 打赏
  • 举报
回复

echo date('Y-m-d w', strtotime('this week'));
echo '<br />';
echo date('Y-m-d w', strtotime('last day next week'));
输出结果: 2014-06-16 1 2014-06-22 0
傲雪星枫 2014-02-19
  • 打赏
  • 举报
回复

echo date('Y-m-d',mktime(0,0,0,date('m'),date('d')-date('w'),date('Y'))); // 第一天
echo date('Y-m-d',mktime(0,0,0,date('m'),date('d')+(6-date('w')),date('Y'))); // 最后一天
xuzuning 2014-02-19
  • 打赏
  • 举报
回复
有了起点就不怕没有终点
echo date('Y-m-d w', strtotime('last day this week +6 day'));
2014-02-22 6
纸牌屋弗兰克 2014-02-19
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
this week 这个星期
echo date('Y-m-d w', strtotime('this week'));
2014-02-17 1 我们是中国人,并不十分了解西方人对日期的表述方式(尤其是程序员们) 况且这个表述也不符合欧美人的一周从周日开始的事实 按照 php 默认的日期计算,似应写作
echo date('Y-m-d w', strtotime('last day this week'));
2014-02-16 0
我要的是这个星期最后一天,应该是23号,版主最后一天是上个星期的星期天
纸牌屋弗兰克 2014-02-19
  • 打赏
  • 举报
回复
引用 5 楼 ywq5752952 的回复:
$date->modify('this week');$date->modify('this week +6 days');报错。Object of class DateTime could not be converted to string
有没有先new DateTime()
纸牌屋弗兰克 2014-02-19
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
this week 这个星期
echo date('Y-m-d w', strtotime('this week'));
2014-02-17 1 我们是中国人,并不十分了解西方人对日期的表述方式(尤其是程序员们) 况且这个表述也不符合欧美人的一周从周日开始的事实 按照 php 默认的日期计算,似应写作
echo date('Y-m-d w', strtotime('last day this week'));
2014-02-16 0
我贴的这段代码输出的时间也是星期一作为第一天,星期天作为最后一天。
鱼为情 2014-02-19
  • 打赏
  • 举报
回复
$date->modify('this week');$date->modify('this week +6 days');报错。Object of class DateTime could not be converted to string
vcshellcode 2014-02-19
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
this week 这个星期
echo date('Y-m-d w', strtotime('this week'));
2014-02-17 1 我们是中国人,并不十分了解西方人对日期的表述方式(尤其是程序员们) 况且这个表述也不符合欧美人的一周从周日开始的事实 按照 php 默认的日期计算,似应写作
echo date('Y-m-d w', strtotime('last day this week'));
2014-02-16 0
版主强大
xuzuning 2014-02-19
  • 打赏
  • 举报
回复
this week 这个星期
echo date('Y-m-d w', strtotime('this week'));
2014-02-17 1 我们是中国人,并不十分了解西方人对日期的表述方式(尤其是程序员们) 况且这个表述也不符合欧美人的一周从周日开始的事实 按照 php 默认的日期计算,似应写作
echo date('Y-m-d w', strtotime('last day this week'));
2014-02-16 0
纸牌屋弗兰克 2014-02-19
  • 打赏
  • 举报
回复
求版主解答一下!
嘻哈大咖秀 2014-02-19
  • 打赏
  • 举报
回复
可靠,没什么问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧