всё без PHP
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta charset="utf-8">
<style type="text/css">
html{background: #fff;}
body{width: 800px; margin: 20px auto; background: #ddd; padding: 20px; border: 1px solid}
.empty{box-shadow: 0 0 10px #f00;}
</style>
<script>
window.onload = function () {
var day = new Date,
md = (new Date(day.getFullYear(), day.getMonth() + 1, 0, 0, 0, 0, 0)).getDate(),
$month_name = "января февраля марта апреля мая июня июля августа сентября октября ноября декабря".split(" ");
function set_select(a, c, d, e) {
var el = document.getElementsByName(a)[0];
for (var b = el.options.length = 0; b < c; b++) {
el.options[b] = new Option(a == 'month' ? $month_name[b] : b + d, b + d);
}
el.options[e] && (el.options[e].selected = !0)
}
set_select("day", md, 1, day.getDate() - 1);
set_select("month", 12, 1, day.getMonth());
set_select("year", 11, day.getFullYear()-10, 10);
document.getElementsByName('hour')[0].value = day.getHours()
document.getElementsByName('minute')[0].value = day.getMinutes()
var year = document.getElementById('year');
var month = document.getElementById("month");
function check_date() {
var a = year.value | 0,
c = month.value | 0;
md = (new Date(a, c, 0, 0, 0, 0, 0)).getDate();
a = document.getElementById("day").selectedIndex;
set_select("day", md, 1, a)
};
if (document.addEventListener) {
year.addEventListener('change', check_date, false);
month.addEventListener('change', check_date, false);
} else {
year.detachEvent('onchange', check_date);
month.detachEvent('onchange', check_date);
}
}
</script>
</head>
<body>
<h3>Дата</h3>
<form action="" method="post">
<select name="day" id="day"></select>
<select name="month" id="month" ></select>
<select name="year" id="year" ></select>
<input type="text" name="hour" size="2" value="">
<input type="text" name="minute" size="2" value=""><br><br>
<input type="submit" value="Go">
</form>
</body>
</html>