Ben bu hafta Pazartesi alabilirsiniz:
$monday = date_create()->modify('this Monday');
Ben aynı kolaylıkla bu ayın 1 almak istiyorum. Bunu nasıl başarabiliriz?
Teşekkürler
("Ilk gün" PHP 5.3 tanıtıldı) çalışmak için PHP 5.3 gerektirir. Aksi takdirde yukarıdaki örnekte bunu yapmak için tek yoldur:
<?php
$d = new DateTime('2010-01-19');
$d->modify('first day of this month');
echo $d->format('jS, F Y');
// alternatively...
echo date_create('2010-01-19')
->modify('first day of this month')
->format('jS, F Y');
PHP 5.4 + bunu yapabilirsiniz:
<?php
echo (new DateTime('2010-01-19'))
->modify('first day of this month')
->format('jS, F Y');
Bu ihtiyacınız olan her şey:
$week_start = strtotime('last Sunday', time());
$week_end = strtotime('next Sunday', time());
$month_start = strtotime('first day of this month', time());
$month_end = strtotime('last day of this month', time());
$year_start = strtotime('first day of January', time());
$year_end = strtotime('last day of December', time());
echo date('D, M jS Y', $week_start).'<br/>';
echo date('D, M jS Y', $week_end).'<br/>';
echo date('D, M jS Y', $month_start).'<br/>';
echo date('D, M jS Y', $month_end).'<br/>';
echo date('D, M jS Y', $year_start).'<br/>';
echo date('D, M jS Y', $year_end).'<br/>';
Şu anda bu çözüm kullanıyorum:
$firstDay = new \DateTime('first day of this month');
$lastDay = new \DateTime('last day of this month');
Ben üzerine geldi tek sorun garip zaman ayarlı olmasıdır. Ben arama arabirimi için doğru aralığı gerekli ve ben bu ile sona erdi:
$firstDay = new \DateTime('first day of this month 00:00:00');
$lastDay = new \DateTime('first day of next month 00:00:00');