繁体   English   中英

我如何从当前日期开始一周的第一天

[英]how do i get the 1st day of week from current date

我想得到一周的第一天?
即。

 if 2011-01-01 then 2011-01-01  
    if 2011-01-06 then 2011-01-01  
    if 2011-01-20 then 2011-01-14  
    if 2011-01-21 then 2011-01-21 

很抱歉造成误导和混淆。

我只想获取一周中第一天的日期,即。 1或7或14或21或28

如果您将星期一视为一周的第一天

echo date('Y-m-d',strtotime("last monday", strtotime('tomorrow',strtotime($date))));

您可以将monday替换为星期几。

到目前为止,最直接的方法是从日期中减去以天为单位的星期几数(0 = 'w'星期日,1 = 'N'星期一):

$date = strtotime('2011-02-09');
$sunday = strtotime('-' . date('w', $date) . ' days', $date);
$monday = strtotime('-' . (date('N', $date) - 1) . ' days', $date);
$wk_day=date('w');
switch ($wk_day)
{
  case 0:  $diff = -1;        break;
  case 1:  $diff = 0;         break;
  default :$diff = $wk_day-1; break;
}
echo date('Y-m-d', time()-(86400*$diff));
$current_date =date('Y-m-d'); 

$year = date('Y');
$month = date('m');
$day = date('d');

$first_day = get_week_start($year, $month, $day);

$weeks_first_day =date('Y-m-d',$first_day);


    function get_week_start($year, $month, $day)
    {
    $timestamp = mktime(0, 0, 0, $month, $day, $year);
    return $timestamp = mktime(0, 0, 0, $month, date('d', $timestamp)-date('w', $timestamp), $year);
    }

您可以从$ weeks_first_day的第一天起获得几周的时间,也可以更改格式!

这里星期日是开始日期

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM