PHP:如何获得一周的日子?

时间:2011-01-03 21:50:02

标签: php mysql date

我想在某个日期以DATE值存储我的数据库中的项目。我不知道如何从本周获得当前的周一,周二等。这是我当前的数据库设置。

menuentry
 id int(10) PK
 menu_item_id int(10) FK
 day_of_week date
 message varchar(255)

所以我有一个包含所有信息的类设置,然后我会做这样的事情......

foreach ( $menuEntryArray as $item )
{
   if ( $item->getDate() == [DONT KNOW WHAT TO PUT HERE] )
   {
      // code to display menu_item information
   }
} 

所以我只是不确定该怎么把“[不知道该怎么放在这里]”进行比较,看看是否为本周的周一或周二指定了日期等。上面的每个日期都是这一周 - 所以它看起来像这样......

Monday
Item 1
Item 2
Item 3

Tuesday
Item 1

Wednesday
Item 1
Item 2

...

谢谢!

2 个答案:

答案 0 :(得分:5)

$天=日期( 'L',的strtotime($项[ 'DAY_OF_WEEK']));

答案 1 :(得分:2)

首先感谢profitphp的答案,但我需要更多。我不认为我对自己的问题也不够清楚。我终于让它在这里工作就是我做的......

function getCurrentWeek()
{
    $weekArray = array();

    // set current date1
    $date = date("m/d/Y"); //'04/30/2009';

    // parse about any English textual datetime description into a Unix timestamp
    $ts = strtotime( $date );

    // calculate the number of days since Monday
    $dow = date('w', $ts);
    $offset = $dow - 1;
    if ($offset < 0) $offset = 6;

    // calculate timestamp for the Monday
    $ts = $ts - $offset*86400;

    // loop from Monday till Sunday
    for ($i=0; $i<7; $i++, $ts+=86400){
        $temp_date = date("Y-m-d", $ts);  // here I set it to the same format as my database
        array_push( $weekArray, $temp_date );
    }

    return $weekArray;

}

然后我用这个......

    foreach ( $menu as $item )
    {
        if ( $item->getDayOfWeek() == $weekArray[0] )
        {
            // do my stuff
        }
    }

希望这有助于某人,再次感谢profitphp。