Надо изменить так, чтоб месяц был на русском языке, как это можно сделать?
<?php
$monthOptions = '<option value="0" id="month_option">Month:</option>';
$dayOptions = '<option value="0" id="day_option">Day:</option>';
$yearOptions = '<option value="0" id="year_option">Year:</option>';
for($month=1; $month<=12; $month++)
{
$monthName = date("M", mktime(0, 0, 0, $month));
$monthOptions .= "<option value=\"{$month}\">{$monthName}</option>\n";
}
for($day=1; $day<=31; $day++)
{
$dayOptions .= "<option value=\"{$day}\">{$day}</option>\n";
}
for($year=2012; $year>=1890; $year--)
{
$yearOptions .= "<option value=\"{$year}\">{$year}</option>\n";
}
?>
..............................
<script type="text/javascript">
function updateDays()
{
//Create variables needed
var monthSel = document.getElementById('month');
var daySel = document.getElementById('day');
var yearSel = document.getElementById('year');
var monthVal = monthSel.value;
var yearVal = yearSel.value;
//Determine the number of days in the month/year
var daysInMonth = 31;
if (monthVal==2)
{
daysInMonth = (yearVal%4==0 && (yearVal%100!=0 || yearVal%400==0)) ? 29 : 28;
}
else if (monthVal==4 || monthVal==6 || monthVal==9 || monthVal==11)
{
daysInMonth = 30;
}
//Add/remove options from days select list as needed
if(daySel.options.length > daysInMonth)
{ //Remove excess days, if needed
daySel.options.length = daysInMonth;
}
while (daySel.options.length != daysInMonth)
{ //Add additional days, if needed
daySel.options[daySel.length] = new Option(daySel.length+1, daySel.length+1, false);
}
return;
}
</script>
<P>Date of birth:<br>
<select name="day" id="day">
<?php echo $dayOptions; ?>
</select>
<select name="month" id="month" onchange="updateDays();">
<?php echo $monthOptions; ?>
</select>
<select name="year" id="year" onchange="updateDays();">
<?php echo $yearOptions; ?>
</select>
Нужно сначала сменить локальные установки системы, как это сделать описано здесь : https://vps.ua/wiki/beginners/setting-russian-locale-linux/
Затем в скрипт добавить код
setlocale(LC_ALL, 'ru_RU', 'ru_RU.UTF-8', 'ru', 'russian');
echo strftime("%B %d, %Y", time());
Самым быстрым и простым думаю будет поменять цикл
for($month=1; $month<=12; $month++) {
$monthName = date("M", mktime(0, 0, 0, $month));
$monthOptions .= "<option value=\"{$month}\">{$monthName}</option>\n";
}
На
foreach(['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'] AS $month=>$monthName)
$monthOptions .= "<option value=\"{$month+1}\">$monthName</option>\n";
Я точно не помню работают ли операции в фигурках
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как правильно объявить функцию с одним параметром, принимающую массив одинакового типа элементов?
есть проблема, ввожу русские буквы, например "у", по идее оно должно отображать в формате char "у" , а в формате int номер по таблице ASCII "227", но оно...