我想获得第一周的日期?
即
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
答案 0 :(得分:2)
如果您将星期一视为一周的第一天
echo date('Y-m-d',strtotime("last monday", strtotime('tomorrow',strtotime($date))));
您可以在一周中的任何一天替换monday
。
答案 1 :(得分:2)
到目前为止,最直接的方法是从日期开始减去星期几的数字(0 = 'w'
的星期日,1 = 'N'
的星期一)。 / p>
$date = strtotime('2011-02-09');
$sunday = strtotime('-' . date('w', $date) . ' days', $date);
$monday = strtotime('-' . (date('N', $date) - 1) . ' days', $date);
答案 2 :(得分:0)
$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));
答案 3 :(得分:0)
$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获得第一天的第一天,你也可以改变格式!
这里星期天是开始日期