<?php
function get_next_contest_date($current_date) {
$current_date_obj = new DateTime($current_date);
$year = $current_date_obj->format("Y");
$week = $current_date_obj->format("W");
$contest_week = $week;
if($first_day_of_year !== 'Mon') {
$contest_week--;
}
$end_date_obj = new DateTime();
if($contest_week & 1) {
$end_date_obj->setISODate($year, $week + 2);
} else {
$end_date_obj->setISODate($year, $week + 1);
}
return $end_date_obj->format('Y-m-d');
}
echo get_next_contest_date('2014-01-11') . "\n";
echo get_next_contest_date('2014-02-01') . "\n";
echo get_next_contest_date('2014-03-30') . "\n";
echo get_next_contest_date('2014-03-31') . "\n";
PD9waHAKZnVuY3Rpb24gZ2V0X25leHRfY29udGVzdF9kYXRlKCRjdXJyZW50X2RhdGUpIHsKCSRjdXJyZW50X2RhdGVfb2JqID0gbmV3IERhdGVUaW1lKCRjdXJyZW50X2RhdGUpOwoKCSR5ZWFyID0gJGN1cnJlbnRfZGF0ZV9vYmotPmZvcm1hdCgiWSIpOwoJJGZpcnN0X2RheV9vZl95ZWFyID0gZGF0ZSgnRCcsIHN0cnRvdGltZSgiJHllYXItMDEtMDEiKSk7CiAKCSR3ZWVrID0gJGN1cnJlbnRfZGF0ZV9vYmotPmZvcm1hdCgiVyIpOwoJJGNvbnRlc3Rfd2VlayA9ICR3ZWVrOwoKCWlmKCRmaXJzdF9kYXlfb2ZfeWVhciAhPT0gJ01vbicpIHsKCQkkY29udGVzdF93ZWVrLS07Cgl9CgoJJGVuZF9kYXRlX29iaiA9IG5ldyBEYXRlVGltZSgpOwoKCWlmKCRjb250ZXN0X3dlZWsgJiAxKSB7CgkJJGVuZF9kYXRlX29iai0+c2V0SVNPRGF0ZSgkeWVhciwgJHdlZWsgKyAyKTsKCX0gZWxzZSB7CgkJJGVuZF9kYXRlX29iai0+c2V0SVNPRGF0ZSgkeWVhciwgJHdlZWsgKyAxKTsKCX0KCglyZXR1cm4gJGVuZF9kYXRlX29iai0+Zm9ybWF0KCdZLW0tZCcpOwp9CgplY2hvIGdldF9uZXh0X2NvbnRlc3RfZGF0ZSgnMjAxNC0wMS0xMScpIC4gIlxuIjsKZWNobyBnZXRfbmV4dF9jb250ZXN0X2RhdGUoJzIwMTQtMDItMDEnKSAuICJcbiI7CmVjaG8gZ2V0X25leHRfY29udGVzdF9kYXRlKCcyMDE0LTAzLTMwJykgLiAiXG4iOwplY2hvIGdldF9uZXh0X2NvbnRlc3RfZGF0ZSgnMjAxNC0wMy0zMScpIC4gIlxuIjs=