Forum Webscript.Ru
Программирование => PHP => Тема начата: lula от 28 Июня 2005, 11:32:35
-
Помоги кто-нибудь!!!!! Больше нет сил....
Итак, написала я функцию для обработки даты для sql запроса следующего вида:
function sql_date($s_date, $e_date) {
if (!$s_date) $ret[\'s_date\']=date("Y-m-d", mktime(0,0,0,date("m"), 1, date("Y")));
else {$arr_date_s=split(\'[/.-]\',$s_date);
$ret[\'s_date\']=date("Y-m-d", mktime(0,0,0,get_month($arr_date_s[1]), $arr_date_s[0], get_year($arr_date_s[2]))); }
if (!$e_date) $ret[\'e_date\']=date("Y-m-d");
else {$arr_date_e=split(\'[/.-]\',$e_date);
$ret[\'e_date\']=date("Y-m-d", mktime(0,0,0,get_month($arr_date_e[1]), $arr_date_e[0], get_year($arr_date_e[2]))); }
return $ret;
}
В текстовом поле на форме ввожу - 01/05/05 - оператор else не обрабатывается - не понимаю ПОЧЕМУ?????
-
попробуйте пользоваться {} скобками
if (!$e_date) {
$ret[\'e_date\']=date("Y-m-d");
} else {
$arr_date_e=split(\'[/.-]\',$e_date);
....
}
-
Большое спасибо! Даже не вериться, что кто-то взглянул на мою проблему.... Я разобралась.... Извините, что побеспокоила своими вопросами!
-
function rdate($date=0,$format=\'\') {
// в качестве даты понимает unix timestamp и date или datetime из mysql
// формат - обычный формат date() с одним исключением
// \\\\P (латиниская) - русское название месяца в именительном падеже
// \\\\p (латиниская) - русское название месяца в родительном падеже
if (!$date) $date=time();
elseif (preg_match(\'!(\\\\d{4})-(\\\\d{2})-(\\\\d{2})( (\\\\d{2}):(\\\\d{2}):(\\\\d{2}))?!\',$date,$m)) {
if (!isset($m[4])) $m[5]=$m[6]=$m[7]=0;
$date=mktime($m[5],$m[6],$m[7],$m[2],$m[3],$m[1]);
}
if(!$format) {
$format=\'d.m.y H:i\';
if (!isset($m[4])) $format=\'d.m.y\';
}
$rmon=array(\'январь\',\'февраль\',\'март\',\'апрель\',
\'май\',\'июнь\',\'июль\',\'август\',\'сентябрь\',
\'октябрь\',\'ноябрь\',\'декабрь\');
$format=str_replace(\'\\\\P\',$rmon[date(\'n\',$date)-1],$format);
$rmon=array(\'января\',\'февраля\',\'марта\',\'апреля\',
\'мая\',\'июня\',\'июля\',\'августа\',\'сентября\',
\'октября\',\'ноября\',\'декабря\');
$format=str_replace(\'\\\\p\',$rmon[date(\'n\',$date)-1],$format);
return date($format,$date);
}
//примеры:
echo rdate().\'
\';
echo rdate(0,\'d \\\\p Y года\');
-
RomikChef
кажется так будет лучше
function rdate($date=0,$format=\'d.m.y H:i\')
-
как угодно
каждый волен исправить так, как ему будет удобно.