И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
spy
- сержант
- Сообщения: 276
- Зарегистрирован: 2008-05-21 10:27:31
- Откуда: Красноярск
Непрочитанное сообщение
spy » 2009-08-21 7:27:34
Нужно с помощью PHP обработать файлик, который сделала одна программка:
Код: Выделить всё
<intervals><interval begin="40045" end="40052"/></intervals>
<day id="40047" price0="" price1="" price2="" price3="" price4="" price5="" price6="">
Меня интересует как в
begin="40045",
end="40052" и
id="40047" зашифрованны даты.
begin="40045" - это 20.08.2009
end="40052" - это 26.08.2009

unix# ?
spy
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
-
Контактная информация:
Непрочитанное сообщение
Alex Keda » 2009-08-21 8:15:23
Код: Выделить всё
begin="40045" - это 20.08.2009
end="40052" - это 26.08.2009
вы уверены? по датам там 6 дней, а по числам 7...
несходитсья
Убей их всех! Бог потом рассортирует...
Alex Keda
-
terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Непрочитанное сообщение
terminus » 2009-08-21 11:41:54
Код: Выделить всё
40052 - 40045 = 7
26.08.2009 - 20.08.2009 = 7 (если 20 включительно)
он считает в днях, при этом "эпоха" у него началась 40046 дней назад (команда date -j -v-40046d выдает ошибку - походу дата лежит до 1970. Может это день рождения программиста указан?).

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
terminus
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Непрочитанное сообщение
paradox » 2009-08-21 12:52:31
блаблабла
сначала было это на одном форуме теперь и лисяре это запостили
может хватит?
обратитесь к разработчику того сайта ))) и нечего гадать
paradox
-
spy
- сержант
- Сообщения: 276
- Зарегистрирован: 2008-05-21 10:27:31
- Откуда: Красноярск
Непрочитанное сообщение
spy » 2009-08-21 13:27:44
Я это постю первый раз в жизни, нужно без разработчиков выяснить это...
Давай без истерик)
говорите по делу.
спасибо
unix# ?
spy
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Непрочитанное сообщение
paradox » 2009-08-21 13:31:54
истерик нет)
просто уже не раз натыкаюсь на форумаъ на эти загадки с датами
paradox
-
Sla
- мл. сержант
- Сообщения: 73
- Зарегистрирован: 2008-08-19 15:09:19
Непрочитанное сообщение
Sla » 2009-08-21 16:06:33
почему загадки?
MS формат даты
даты считаются от 01/01/1900
Sla
-
spy
- сержант
- Сообщения: 276
- Зарегистрирован: 2008-05-21 10:27:31
- Откуда: Красноярск
Непрочитанное сообщение
spy » 2009-08-21 17:31:36
О по делу))
Гуд) Ковырну , размещу результат
unix# ?
spy
-
spy
- сержант
- Сообщения: 276
- Зарегистрирован: 2008-05-21 10:27:31
- Откуда: Красноярск
Непрочитанное сообщение
spy » 2009-10-29 6:43:40
Как и обещал
Перевести к нормальному виду:
Код: Выделить всё
<?php
$excel_date = 40179;
$normal_date = date("m/d/Y", strtotime("01/01/1900 + $excel_date days - 2 days"));
echo($normal_date);
?>
Перевести назад в EXEL, можно с помощью функции:
Код: Выделить всё
function getDays1900($date){
$stop = unixtojd(strtotime($date));
$start = gregoriantojd(1, 1, 1900);
return ($stop - $start + 2);
}
unix# ?
spy