PHP - Date fonksiyonu - önceki hafta bulma

4 Cevap php

Benim uygulamada bir hafta Pazar 11:59:59 Pazartesi 00:00:00 tanımlanırsa

Bir kullanıcı benim siteyi ziyaret ettiğinde - Ben önceki hafta tarih aralığını bulmak ve ona buna dayalı sonuçlarını göstermek gerekir. Çok basit geliyor ama ben kayboldum.

To give you scenarios - - March 1st Monday 12:00:00 AM to March 7th Sunday 12:59:59 PM is the week.

Bir kullanıcı 8 Mart ya da 10 Mart ya da 12 Mart tarihinde web sitesini ziyaret ettiğinde - Şimdi mevcut tarihe dayanarak ben önceki hafta tarih aralığı yani başlangıç ​​tarihi 1 Mart ve bitiş tarihi 7 Mart almak gerekir.

Kullanıcı site 16 Mart söylemek ziyaret ederse Ama - gerekir tarih aralığı 8 Mart - 15 Mart olduğunu.

How can I do this in PHP. Thanks

4 Cevap

strtotime function burada çok kullanışlı:

$mondayStr = "last monday";
if (date('N') !== '1') {  // it's not Monday today
    $mondayStr .= " last week";
}

$monday = strtotime($mondayStr);
echo date('r', $monday);    // Mon, 22 Feb 2010 00:00:00 +1000

$sunday = strtotime('next monday', $monday) - 1;
echo date('r', $sunday);    // Sun, 28 Feb 2010 23:59:59 +1000
function get_week_start($year, $month, $day)
{
    $timestamp = mktime(0, 0, 0, $month, $day, $year);
    return date('F j Y', $timestamp = mktime(0, 0, 0, $month, date('d', $timestamp)-date('w', $timestamp), $year));
}

Belki sonraki 6 gün ekleyebilir ve bunu var.

PHP Documentation bunun için bir kullanıcı fonksiyon vardır.