Bit hakkında bu bir gitmek konusunda sıkışmış. Cari ay göz önüne alındığında, her ayın dördüncü Cumartesi tarihini dönmek gerekir.
örneğin Bu ay 20 Şubat olurdu, sonraki 27 Mart olurdu.
Teşekkürler
Sen strtotime başlangıç tarihine göre "önümüzdeki Cumartesi" bulmak için kullanabilirsiniz. Bu başlangıç tarihi olası en erken önceki gün (21) önceki gün ise biz cevap olsun ...
//required year/month
$yyyymm="2009-01";
//find next saturday after earliest possible date
$t=strtotime("next saturday", strtotime("{$yyyymm}-21"));
//here you go!
echo "4th saturday of $yyyymm is ".strftime("%Y-%m-%d",$t)."\n";
Herhangi bir ay içinde bir gün erken olası 4. Mükerrer (1,8,15,22), son olası 4. Mükerrer 28 olan 22 olan (7,14,21,28).
EDIT: bu belgelerde açık olmamasına rağmen, talep edebilirsiniz "dördüncü Cumartesi" de - esas olarak ayın sıfırıncı gün kullanabilirsiniz:
$t=strtotime("fourth saturday", strtotime("{$yyyymm}-00"));
veya temel zaman ihmal ve doğrudan ay ve yıl belirtin:
$t=strtotime("fourth saturday feb 2009");
Tip of the hat to Robin "I'm not a PHP coder" Day for spotting that :)
Ayın ilk Cumartesi bulun ve o üç hafta ekleyecektir.
Ilk Cumartesi (ya da, daha doğrusu, özel bir gün adı ile ilgili bir tarih bilmiyorum) ne zaman bilmiyorsanız, ben uygun baktım ki, Doomsday algorithm bakmak isteyebilirsiniz biraz benzer bir konu ile başka bir yazı için.