PHP获取本周第一天日期
水墨青城 2016-05-05 11:05:55 2189 收藏 1
版权
// 返回执行日期所在周的第一天(周一)日期
function firstOfWeek($date)
{
$now = strtotime($date); //当时的时间戳
$number = date("w",$now); //当时是周几
$number = $number == 0 ? 7 : $number; //如遇周末,将0换成7
$diff_day = $number - 1; //求到周一差几天
return date("Y-m-d",$now - ($diff_day * 60 * 60 * 24));
}
————————————————
版权声明:本文为CSDN博主「水墨青城」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
来自 https://blog.csdn.net/iioioooo4/article/details/51321150
使用PHP strtotime()函数可以将任何字符串的日期时间描述解析为 Unix 时间戳。此函数返回默认时间变量timestamp,然后使用date()函数将时间戳日期转换为可理解的日期。
strtotime()函数
strtotime()函数通过解析时间字符串返回时间戳中的结果。
语法:
strtotime($EnglishDateTime, $time_now)
参数:
strtotime()函数接受上面提到的两个参数,如下所述:
$ EnglishDateTime:它指定英文文本日期时间描述,表示要返回的日期或时间。该函数解析字符串并以秒为单位返回时间。这是必需的参数。
$ time_now:此参数指定用于计算返回值的时间戳。这是一个可选参数。
date()函数
date()函数返回更易理解和人类可读的日期格式。
语法:
date( format, timestamp )
参数:
此函数接受上述两个参数,如下所述:
format:指定显示结果的日期和时间格式。
timestamp:它是生成日期的默认时间变量。
注意:在PHP中,星期从星期一开始,所以如果时间字符串以“this week”给出,则输出将是星期一的时间戳,通过传递date()函数可以使其可读。
示例代码
date_default_timezone_set('Asia/Shanghai');
//date("w") 星期天0 星期一 1 星期六 6 date("t") https://www.php.net/manual/zh/function.date.php
echo "现在:" . date("Y-m-d H:i:s", time());
echo "这个月有" . date("t") . "天";
echo "今天是" . week(date("w"));
echo "一年前的一月前的一周前的一天前的一小时前的一分钟前的一秒前的时间是:" . date("Y-m-d H:i:s", strtotime("-1 year -1 month -1 week -1 day -1 hour -1 min -1 second"));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "这周第一天:" . date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y")));
//date('Y-m-d', strtotime("this week"))
echo "这周最后一天:" . date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 7, date("Y")));
//date('Y-m-d', strtotime("this week 6 day"));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "这个月第一天:" . date('Y-m-01', time());
echo "这个月最后一天:" . date("Y-m-d", mktime(0, 0, 0, date("m") + 1, 0, date("Y")));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "今年第一天:" . date('Y-01-01', time());
echo "今年最后一天:" . date("Y-m-d", mktime(0, 0, 0, 1, 0, date("Y") + 1));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "上周第一天:" . date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")));
echo "上周最后一天:" . date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - date("w") + 7 - 7, date("Y")));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "上月第一天:" . date("Y-m-d", mktime(0, 0, 0, date("m") - 1, 1, date("Y")));
echo "上月最后一天:" . date("Y-m-d", mktime(0, 0, 0, date("m"), 0, date("Y")));
echo "
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-";
echo "去年第一天:" . date("Y-m-d", mktime(0, 0, 0, 1, 1, date("Y") - 1));
echo "去年最后一天:" . date("Y-m-d", mktime(0, 0, 0, 1, 0, date("Y")));
function week($week)
{
$value = "";
switch ($week) {
case 0:
$value = "星期天";
break;
case 1:
$value = "星期一";
break;
case 2:
$value = "星期二";
break;
case 3:
$value = "星期三";
break;
case 4:
$value = "星期四";
break;
case 5:
$value = "星期五";
break;
case 6:
$value = "星期六";
break;
default:
$value = "错误的参数";
}
return $value;
}
来自 https://www.cnblogs.com/lizhaoyao/p/7761361.html