Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: расчет даты
Форумы портала PHP.SU » PHP » Программирование на PHP » расчет даты

Страниц (1): [1]
 

1. SAD - 27 Сентября, 2010 - 21:41:30 - перейти к сообщению
народ есть такой вопрос. например я беру и вычитаю из сегодняшней даты, например послезавтра, на выходе получаю -2 дня. как мне эти дни перевести в дату 30 декабря 1 года до н.э. если вычитаю из сегодня завтра , то должен получить 31 декабря 1 года до н.э. у кого есть какие мысли как это рассчитать, без применения стандартных функций работы с датой?

и вопрос на засыпку, сначала идет 31 декабря 1 года до н.э, а потом что? 1 января 0 года или 1 января 1 года?

может это есть у кого то на с++?
(Добавление)
и где можно поискать исходники функций php?
2. Uchkuma - 27 Сентября, 2010 - 23:24:33 - перейти к сообщению
SAD пишет:
вопрос на засыпку, сначала идет 31 декабря 1 года до н.э, а потом что? 1 января 0 года или 1 января 1 года?
Ответ настолько прост, что очень глупо сомневаться и тем более называть это вопросом на засыпку. С какого года начинается век, с такого и началось летоисчисление. 21 век начался в каком году? Правильно, в 2001! Когда человек рождается, ему какой год пошел? Первый, а не нулевой! Да, ему 0 лет, но пошел первый год.
3. SAD - 27 Сентября, 2010 - 23:30:10 - перейти к сообщению
Та с вопросом на засыпку я уже разобрался)) мне бы с главным разобраться
4. Uchkuma - 27 Сентября, 2010 - 23:37:52 - перейти к сообщению
SAD пишет:
и вопрос на засыпку, сначала идет 31 декабря 1 года до н.э, а потом что? 1 января 0 года или 1 января 1 года?
В продолжение темы Улыбка
За день до 1 января 1 года н.э. по идее должно было быть 1 января 1 года до н.э., т.к. время вроде как шло в обратную сторону )) Вот тут действительно путаница Радость
5. JustUserR - 27 Сентября, 2010 - 23:48:13 - перейти к сообщению
SAD пишет:
И вопрос на засыпку, сначала идет 31 декабря 1 года до н.э, а потом что? 1 января 0 года или 1 января 1 года?
Солгасно класическим представлениям о формировании различных дат расположенных непосредственно до и после нашей эры - непрерывной последовательности не происходит и после окончания -1 года дейтсвительно сразу следует 1 год - это значительно отличается от машинного представления целочисленных значений в которых в силу использования операции интертирования - число возможных отрицательных значений заданной точности на единицу больше чем аналогичных положительных элементов
6. zardoz - 28 Сентября, 2010 - 00:49:19 - перейти к сообщению
Ээ.. Да, путаницы не должно быть... Время не меняет направление, года исчисляются по-другому, т.е. месяцы не надо "разворачивать":

....
2-й год до н.э: янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек
1-й год до н.э: янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек
1-й год н.э: янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек
....

С уважением. Радость
7. SAD - 07 Октября, 2010 - 11:49:40 - перейти к сообщению
Подниму тему.
В общем есть у меня какое то число целое, которое получено при вычитании одной даты из другой(возвращается количество дней)
Если оно положительное, то нужно его преобразовать в дату нашей эры
Если отрицательное, то в дату до н.э.
Как можно это в принципе сделать?
например число 3, то 3 января 1 года
-4, то 28 декабря 1 года до н.э.
Писать мне это дело надо будет на visual с++. Пишу тут, чтобы не засорять форум

 

Powered by ExBB FM 1.0 RC1