Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

типа ExplodeExcelData

Отправлено MegaJohn 11 марта 2008 г. 11:43
В ответ на: Ужоснах :-) А чем конвертнуть простеньким не имея Excel 39151 <> 10.03.2007 ? отправлено -=Shura=- 11 марта 2008 г. 11:14

function ExplodeExcelData ($ExcelValue)
{

$year = 1900;
$month = 1;
$day = 1;
$cycle = 0;

//форсированный расчет года
while ($ExcelValue > (365*4 + 1))
{
$ExcelValue -= 365*4 + 1;
$year += 4;
}

while ((($cycle != 0) && ($ExcelValue >= 365)) || (($cycle == 0) && ($ExcelValue >= 366)))
{
switch ($cycle++)
{
case 0: $ExcelValue -= 366; break;
case 1:
case 2: $ExcelValue -= 365; break;
case 3: $ExcelValue -= 365; $cycle = 0; break;
}
$year++;
}

//расчет месяца
for ($temp = 1; $temp <= 12; $temp++)
{

$temp2 = GetDaysOfMonth($temp);

if (($temp == 2) && ($cycle == 0)) $temp2 = 29; //Проверка на високосный февраль

if ($ExcelValue > $temp2)
{
$ExcelValue -= $temp2;
$month++;
}
else
{
$day = $ExcelValue; //И в остатке получаем дни
break;
}
}
}


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
умножьте 2 на три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru