我想獲得每週的第一個日期?
即。我如何獲得當前日期的第一天
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
我想獲得每週的第一個日期?
即。我如何獲得當前日期的第一天
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
。
$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,您還可以更改格式什麼都!
這裏星期天是起始日期
到目前爲止,最直接的辦法就是減去星期幾的數(0 =週日'w'
,1 =週一'N'
)從天日期:
$date = strtotime('2011-02-09');
$sunday = strtotime('-' . date('w', $date) . ' days', $date);
$monday = strtotime('-' . (date('N', $date) - 1) . ' days', $date);
您是否認爲週一或週日是您每週的第一天?這將對答案產生影響。 – 2011-02-09 07:11:56
可能重複[獲取當日星期一和星期五(PHP)]的日期](http://stackoverflow.com/questions/1431631/get-date-for-monday-and-friday-for-the-current-周-php) – 2011-02-09 07:31:44
你還沒有正確定義「一週的第一天」。 「1或7或14」沒有多大意義。 – deceze 2011-02-09 07:47:38