Nasıl günümüze gelen bir sonraki ayın ilk günü ve bu güne kadar kalan günler bulabilirim?
Teşekkür ederim
Cari ay ve yıl olsun:
$curMonth = date('n');
$curYear = date('Y');
Sonraki ayın ilk günü saat 00:00 için bir zaman damgası oluşturun:
if ($curMonth == 12)
$firstDayNextMonth = mktime(0, 0, 0, 0, 0, $curYear+1);
else
$firstDayNextMonth = mktime(0, 0, 0, $curMonth+1, 1);
Bu tarihten til gün sayısı (24 * 60 * 60) bölünmesiyle şimdi ve sonra arasında saniye sayısıdır.
$daysTilNextMonth = ($firstDayNextMonth - mktime()) / (24 * 3600);
Gitmek Edit: İşte, Aralık dikkate almak tweaked. Bu yöntem sıçrama yıllık güvenlidir.
Bu ile bir sonraki ayın ilk alabilirsiniz:
$now = getdate();
$nextmonth = ($now['mon'] + 1) % 13 + 1;
$year = $now['year'];
if($nextmonth == 1)
$year++;
$thefirst = gmmktime(0, 0, 0, $nextmonth, $year);
Bu örnekle, $thefirst
sonraki ayın ilk için UNIX zaman damgası olacaktır. date
beğeninize biçimlendirmek için kullanın.
Bu, ayın kalan gün verecektir:
$now = getdate();
$months = array(
31,
28 + ($now['year'] % 4 == 0 ? 1 : 0), // Support for leap years!
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
);
$days = $months[$now['mon'] - 1];
$daysleft = $days - $now['mday'];
Kalan gün sayısı depolanacak $daysleft
.
Bu yardımcı olur umarım!
Verilen bir tarih ile 'sonraki ayın ilk gününü' almak mümkün çünkü ben mattbasta yaklaşımını aldı, ama $ nextmonth hesaplanmasında küçük bir sorun var. Düzeltme aşağıdaki gibidir:
$now = getdate();
$nextmonth = ($now['mon'] + 1) % 13 + 1;
$year = $now['year'];
if($nextmonth == 1)
$year++;
else
$nextmonth--;
$thefirst = gmmktime(0, 0, 0, $nextmonth, $year);