Календарь ЗЛ

  Всего сообщений: 261
Для печати
Автор Сообщение
Ray
 Написано: 23.08.2012, 00:39  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
vovaz02h писал(a):
судя по всему (контекстно) целое, равное соответствующей одноименной величине.
То есть разбирает "текущую" дату на день, час, минуты и так далее из времени старого мира"

Непонятно про Date. Часы и минуты - понятно.
В начало страницы
vovaz02h
 Написано: 23.08.2012, 00:45  

технонанонекрофил - милитарист


Регистрация: 21.03.2012
Сообщений: 4707
Откуда: З нашого боку порєбріка.
Имя: Владимир
Ray писал(a):
Непонятно про Date. Часы и минуты - понятно.

Похоже, что в данном случае, CurrentDate - абстракция.
Исходя из строки DeltaOldWorld_days = CurrentDate - 06/01/1973
Глевное - получить значение DeltaOldWorld_days равное разнице в днях старого мира (которые по 24 часа) между "текущей" (той, которая переводится в дату Новой Земли) и датой "первого дня Новой Земли". (В PHP по моему как-то делалось)
В начало страницы
Ray
 Написано: 23.08.2012, 00:50  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
vovaz02h писал(a):
Исходя из строки DeltaOldWorld_days = CurrentDate - 06/01/1973
Глевное - получить значение DeltaOldWorld_days равное разнице в днях старого мира (которые по 24 часа) между "текущей" (той, которая переводится в дату Новой Земли) и датой "первого дня Новой Земли". (В PHP по моему как-то делалось)

Это-то без проблем.
В начало страницы
Kail Itorr
 Написано: 23.08.2012, 10:30  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
Ray писал(a):
Kail Itorr писал(a):
NewWorldMon = ( (Delta - (NewWorldYear-1)*NWYear) mod NWMon) + 1
mod - это деление по модулю? Т.е. целочисленный остаток от деления первого на второе?
Разумеется. Если меня нигде не переклинило с где надо div, а где mod...

(Upd)
Таки переклинило, перечитал свои формулы на свежую бошку, иначе надо.
Базовая старосветская дельта в минутах верна, а вот остальное нет.

NewWorldYear = (Delta div NWYear) + 1 //** полные новоземельные года **//
DeltaYear = Delta mod NWYear //** остаток (в минутах) от дельты после вычитания лет **//

NewWorldMon = (DeltaYear div NWMon) + 1 //** полные новоземельные месяцы **//
DeltaMon = DeltaYear mod NWMon //** остаток (в минутах) от дельты после вычитания месяцев **//

NewWorldDay = (DeltaMon div NWDay) + 1 //** полные новоземельные дни **//
DeltaDay = DeltaMon mod NWDay //** остаток (в минутах) от дельты после вычитания дней **//

NewWorldHrs = DeltaDay div Hr //** полные новоземельные часы **//
NewWorldMins = DeltaDay mod Hr //** оставшиеся новоземельные минуты **//

If NewWorldHrs = 30 // **коррекция последнего 72-минутного часа **//
then
NewWorldHrs = 29
NewWorldMins = 60+NewWorldMins
В начало страницы
Ray
 Написано: 23.08.2012, 13:56  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
а div - деление без остатка?
В начало страницы
Ray
 Написано: 23.08.2012, 13:58  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
И дай пример с расчетами по этой формуле, чтобы мне отладить сразу скрипт и проверить. В виде - формула - подставленные значения - результат.

например, рассчитываем дату 22.08.2012
В начало страницы
Kail Itorr
 Написано: 23.08.2012, 14:14  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
Не вопрос.
22/08/2012 13:00

NWDay = 1812
NWMon = 72480
NWYear = 797280


DeltaOldWorldDays = 14473
Delta = 14473 * 1440 + 1*60 - 24 = 20841156

NewWorldYear = 20841156 div 797280 + 1 = 27
DeltaYear = 20841156 mod 797280 = 111876

NewWorldMon = 111876 div 72480 + 1 = 2
DeltaMon = 111876 mod 72480 = 39396

NewWorldDay = 39396 div 1812 + 1 = 22
DeltaDay = 39396 mod 1812 = 1344

NewWorldHrs = 1344 div 60 = 22
NewWorldMins = 1344 mod 60 = 24

Итого: 22/2/27 22:24

dayweek = (k + dd + 40*(mm-1) + 440*(yy-1) ) mod 7 = (1 + 22 + 40 + 440*26) mod 7 = 11503 mod 7 = 2
Вторник.
В начало страницы
Ray
 Написано: 23.08.2012, 16:38  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
Цитата:
NWDay = 1812
NWMon = 72480
NWYear = 797280
DeltaOldWorldDays = 14473

Это как рассчитано?


что такое k в последней формуле?
В начало страницы
lvbnhbq
 Написано: 23.08.2012, 16:44  

Писатель


Регистрация: 21.03.2012
Сообщений: 10823
Откуда: Донецк
Имя: Дмитрий Ефименко
Ray писал(a):
что такое k в последней формуле?

Если я правильно понял - день первый.
В начало страницы
Kail Itorr
 Написано: 23.08.2012, 16:45  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
NWDay = 29*60+72 = 1812
NWMon = 40 * NWDay = 72480
NWYear = 11 * NWMon = 797280

DeltaOldWorldDays за неимением в хозяйстве четких формул по старосветскому календарю честно расчитано в онлайне по http://www.goroskop.org/horoscope/daycal/form1.shtml

k - коэффициент, его численное значение было вычислено ранее исходя из того, что Ярцев прошел в пятницу.
В начало страницы
Ray
 Написано: 23.08.2012, 16:46  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
lvbnhbq писал(a):
Если я правильно понял - день первый.

Тогда почему просто 1 не написать?
В начало страницы
Ray
 Написано: 23.08.2012, 16:48  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
Я чот туплю, но не понимаю, куда подставлять данные из исходной даты?

22/08/2012 13:00
В начало страницы
lvbnhbq
 Написано: 23.08.2012, 16:50  

Писатель


Регистрация: 21.03.2012
Сообщений: 10823
Откуда: Донецк
Имя: Дмитрий Ефименко
Ray писал(a):
Тогда почему просто 1 не написать?

Похоже, Kail Itorr просто вставил формулу из сообщения № 73. Там же и рассчитано k. :pardon:
В начало страницы
lvbnhbq
 Написано: 23.08.2012, 16:52  

Писатель


Регистрация: 21.03.2012
Сообщений: 10823
Откуда: Донецк
Имя: Дмитрий Ефименко
Ray писал(a):
Я чот туплю, но не понимаю, куда подставлять данные из исходной даты?

22/08/2012 13:00

См. сообщение № 75.
В начало страницы
Kail Itorr
 Написано: 23.08.2012, 16:56  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
Ray писал(a):
Я чот туплю, но не понимаю, куда подставлять данные из исходной даты?
22/08/2012 13:00

DeltaOldWorld_days = CurrentDate - 06/01/1973 //**количество дней с День1**//
Delta = DeltaOldWorld_days * OWDay + (CurrentHrs - 12) * Hr + CurrentMins - 24 //** точное количество минут с День1 00:00 **//

CurrentDate - это и есть 22/08/2012, однако оно именно функция по трем переменным (в смысле вычисление Date2 - Date1). Я знаю, что такое существует, но разложенного "до элементарной арифметики" никогда не видел.
13 - это CurrentHrs, 00 - это CurrentMins.
В начало страницы
Ray
 Написано: 27.08.2012, 13:51  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
OWDay что такое? Как считается?
В начало страницы
vovaz02h
 Написано: 27.08.2012, 13:55  

технонанонекрофил - милитарист


Регистрация: 21.03.2012
Сообщений: 4707
Откуда: З нашого боку порєбріка.
Имя: Владимир
судя по логике - номер дня в году старого календаря
В начало страницы
Ray
 Написано: 27.08.2012, 13:57  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
по математике:
mod - целочисленное деление? т.е. 5 mod 2 = 2 ?
div - ???

с примером лучше бы...
В начало страницы
Ray
 Написано: 27.08.2012, 13:57  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
vovaz02h писал(a):
судя по логике - номер дня в году старого календаря

это как?
и какой это даты день?
В начало страницы
vovaz02h
 Написано: 27.08.2012, 14:17  

технонанонекрофил - милитарист


Регистрация: 21.03.2012
Сообщений: 4707
Откуда: З нашого боку порєбріка.
Имя: Владимир
Ray писал(a):
по математике:
mod - целочисленное деление? т.е. 5 mod 2 = 2 ?
div - ???
с примером лучше бы...
Насколько я в курсе, обычно - наоборот.

A div B - частное от целочисленного деления А на В
A mod B - остаток от целочисленного деления А на В

13 div 2 = 6 ; 5 div 2 = 2
13 mod 6 = 1 ; 5 mod 2 = 1
В начало страницы
Kail Itorr
 Написано: 27.08.2012, 14:23  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
OWDay - продолжительность староземельного дня в минутах. 24*60 = 1440. Константа.
По Диву-Моду уже усе сказали, Див - целочисленное деление, Мод - остаток от целочисленного деления на.
В начало страницы
Ray
 Написано: 27.08.2012, 17:19  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
Календарик
В начало страницы
vovaz02h
 Написано: 27.08.2012, 17:22  

технонанонекрофил - милитарист


Регистрация: 21.03.2012
Сообщений: 4707
Откуда: З нашого боку порєбріка.
Имя: Владимир
Ray писал(a):

Стильненько! :) :oops:

Ну и сразу вводим каоноічное
Цитата:
18/06/2005 12:00 соответствует 19/05/22 11:00

получаем:
В это время в Новой Земле:
19-05-22 00:00, суббота


11 часов где-то того :???: незбігаеться...
В начало страницы
Kail Itorr
 Написано: 27.08.2012, 17:38  

Автор


Регистрация: 26.04.2012
Сообщений: 11696
Откуда: Киев, Украина
Имя: Кайл Иторр
Дизайн отличный, а математика гле-то не сходится... ни с датой Ярцева, ни с вычисленной вручную моей.
В начало страницы
Ray
 Написано: 27.08.2012, 18:55  

Site Admin


Регистрация: 12.01.2012
Сообщений: 17314
Откуда: Ярославль
Имя: Андрей
Kail Itorr писал(a):
Дизайн отличный, а математика гле-то не сходится... ни с датой Ярцева, ни с вычисленной вручную моей.

Я по твоему примеру делал. Сошлось все до цифры.

Т.е. вводим 22-08-2012 13:00
получаем 22-02-27 22:24
В начало страницы
  Всего сообщений: 261
Быстрый переход:  
  Модераторы:  Cruz, Matraskin, n90, Orc, PROF
Эту тему просматривают: нет зарегистрированных пользователей , гости: 9