Haftalık tarihleri ​​görüntülemek için PHP tarihini kullanarak

4 Cevap php

Ben bu çağrı ne gerçekten emin değilim. Ama temelde "Bu Haftanın Popüler Hikayeleri" konulu bir kullanıcı tıklama sahip olmak istiyorum, ve diğer şeyler ama esas tarih olacak bir sayfa onları alacak. Örneğin, Temmuz 10-17.

Şu anda bu kodu kullanıyorum:

    $seven_days_ago = date('j') - 7;
    $time_span = date('F ' . $seven_days_ago . ' - j');

. Onu yedi gün önce değişken negatif olup olmadığını algılamak ve göstermek gerektiğini anlamaya için 4 bir yol gerekir - biz Temmuz girildiğinde Temmuz -3 gibi bir şey göstermek istiyorum çünkü Şimdi, ben, bir sorun koştu. Yardım?

Teşekkürler!

4 Cevap

Eğer kullanmanız gerekir strtotime

$timeago = strtotime("7 days ago");

Ne kullanma hakkında

$unix_timestamp = mktime(0, 0, 0, date("m"), date("d")-7, date("Y"));

ve sadece döndü unix zaman damgası alabilir?

Update

Size tam bir çalışma örneği verecek snipped sadece küçük bir kod. Ancak ben o kadar sevmiyorum :)

<?php
  $today = date("d F");  
  list($today_day, $today_month) = explode(" ", $today);
  $previous = date("d F", mktime(0, 0, 0, date("m"), date("d")-7, date("Y")));
  list($previous_day, $previous_month) = explode(" ", $previous);    
  if($today_month != $previous_month){
    echo $previous_month." ".$previous_day." - ".$today_month." ".$today_day;
  }else{
    echo $today_month." ".$previous_day." - ".$today_day;
  }  
  die();
?>

Ben sadece çok şık küçük işlevi yarattı. Sadece o Hafta sayısını geçmesi, o bu haftaki gün tarih bir dizi döndürür.

 function findWeekDates($weekNumber=null, $year=null ) {
// receives a specific Week Number (0 to 52) and returns that week's day dates in an array.
// If no week specified returns this week's dates.
    $weekNumber = ($weekNumber=='') ? date('W'): $weekNumber ;
    $year = ($year=='') ? date('Y'): $year ;

    $weekNumber=sprintf("%02d", $weekNumber);
    for ($i=1;$i<=7;$i++) {
        $arrdays[] = strtotime($year.'W'.$weekNumber.$i);
    }
    return $arrdays;
}

Örnek - Belirli bir hafta başlangıç ​​ve bitiş tarihlerini bulabilirsiniz:

$week= (isset($_GET['week']) && $_GET['week'] !=='')? $_GET['week'] : date('W') ;
$year =  (isset($_GET['year']) && $_GET['year'] !=='')? $_GET['year'] : date('Y') ;

if($week>52) {
    $week = 1;
    $year++;
}else if($week<1) {
        $week=52;
        $year--;
    }
$week_days = findWeekDates($week, $year);
$starting_date = date('Y-m-d', $week_days[0]);
$ending_date = date('Y-m-d', $week_days[6]);

Bu yardımcı olur umarım ...