- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
function getCurrentDate(){
$vDate = '';
$vFullDate = getdate();
//print_r($vFullDate);
if ($vFullDate['mon']<10) $vFullDate['mon']='0'.$vFullDate['mon'];
$vDay = $vFullDate['mday'];
$vMon = $vFullDate['mon'];
$vYear = $vFullDate['year'];
$vWDay = $vFullDate['wday'];
$vVYear = (date("L"));
if (($vDay == 30) && ($vMon == 4)) {
$vDate = '04.05.'.$vYear;
return $vDate;
}
if (($vDay == 8) && ($vMon == 5)) {
$vDate = '11.05.'.$vYear;
return $vDate;
}
if (($vDay==30) && (in_array($vMon,$this->mTMon))) {
$vMon++;
if ($vWDay == 5) {
$vDay=$vDay+3;
}
else {
$vDay++;
}
$vDay = 1;
}
elseif ($vDay==31) {
$vDay =1;
$vMon ++;
if ($vMon<10) {
$vMon = '0'.$vMon;
}
}
elseif (($vDay==31)&& ($vMon==12)){
if ($vWDay == 5) {
$vDay=$vDay+3;
}
else {
$vDay++;
}
$vMon = 1;
$vYear ++;
}
elseif ($vWDay == 5) {
$vDay=$vDay+3;
}
else {
$vDay++;
}
if ($vDay < 10) {
$vDay = '0'.$vDay;
}
if ($vMon < 10) {
$vMon = '0'.$vMon;
}
$vDate = $vDay.'.'.$vMon.'.'.$vYear;
if ($vDate == '12.06.2009') {
$vDate = '15.06.2009';
}
return $vDate;
}
Так получилось, что мне приходится часто смотреть на чужой код. В этом случае сотрудники одного отдела, выдающего справки (число в справке должно быть на 3 дня больше текущего) пожаловались мне, что форма выдает справки обычно нормально и они даже смирились, когда у месяца появляется 31-е число, но тут появилось вдруг 32-е и они забеспокоились.
Полез - увидел - поржал - заменил одной строчкой date('d.m.Y',strtotime("+3 days"));