PHP: Nasıl Pazar ve Cumartesi bir tarih girişi verilmiş olsun?

7 Cevap php

Nasıl belirli bir tarih verilmiş haftanın Pazar ve Cumartesi alabilirim?

Örneğin:

giriş: Pazartesi, Eylül 28, 2009

çıkışı olmalıdır:

Pazar, Eylül 27, 2009 12:00 - Cumartesi, Ekim 3, 2009 11:59

Ben date, strtotime, mktime ve time php fonksiyonları kullanarak düşünüyorum.

Kullanılabilir bir işlevi varsa, o da bana gayet iyi.

Şimdiden teşekkürler :)

Cheers, Mark

7 Cevap

echo date ("Ymd H: i: s", strtotime ("Geçen Pazar", time ()));

echo date ("Ymd H: i: s", strtotime ("bir sonraki Cumartesi", time ()));

strtotime bir göz atın

yani

strtotime('next sunday', strtotime($your_date_string));

strtotime

$input = strtotime("Monday, September 28, 2009");
$nextSunday = strtotime("next Sunday",$input);

Bu arıyor budur. Ben ne kullanın.

$beginningOfWeek = date('Y-m-d H:i:s', strtotime('last Sunday'));
$endOfWeek = date('Y-m-d H:i:s', strtotime('+6 day', strtotime('last Sunday')) );

Bu durumda benim Tarih Saat Yardımcısı çok kullanışlı bulabilirsiniz, bu 3 Lines bitirebiliriz

http://normandqq.github.io/Date-Time-Helper/

    $date = '2013-08-11';
    $monday = Model_DTHpr::getMondayByDate($date);
    $sunday = Model_DTHpr::adjustDays("add",$monday,6);

Söndürün:

    2013-08-05 //Monday
    2013-08-11 //Sunday

'doğru' cevap ile sorunu verilen tarih Pazar ne varsa, nedir? Sonra size yerine mevcut Pazar önceki Pazar verecektir. Cumartesi günü aynı mesele.

$s = 'Monday, September 28, 2009';
$time = strtotime($s);
if(date('D', $time) == "Sun"){
    $start = strtotime(' 12pm', $time);
}
else {
    $start = strtotime('last sunday, 12pm', $time);
}
if(date('D', $time) == "Sat"){
    $start = strtotime(' 12pm', $time);
}
else {
    $start = strtotime('next saturday, 12pm', $time);
}
$format = 'l, F j, Y g:i A';
$start_day = date($format, $start);
$end_day = date($format, $end);
header('Content-Type: text/plain');
echo "Input: $s\nOutput: $start_day - $end_day";