Всего сообщений: 261 |
|
||||
Автор | Сообщение | |||
Ray | Сообщение #76 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
vovaz02h писал(a): судя по всему (контекстно) целое, равное соответствующей одноименной величине. То есть разбирает "текущую" дату на день, час, минуты и так далее из времени старого мира" Непонятно про Date. Часы и минуты - понятно. | |||
В начало страницы | ||||
vovaz02h | Сообщение #77 | |||
технонанонекрофил - милитарист Регистрация: 21.03.2012 Сообщений: 4707 Откуда: З нашого боку порєбріка. Имя: Владимир |
Ray писал(a): Непонятно про Date. Часы и минуты - понятно. Похоже, что в данном случае, CurrentDate - абстракция. Исходя из строки DeltaOldWorld_days = CurrentDate - 06/01/1973 Глевное - получить значение DeltaOldWorld_days равное разнице в днях старого мира (которые по 24 часа) между "текущей" (той, которая переводится в дату Новой Земли) и датой "первого дня Новой Земли". (В PHP по моему как-то делалось) | |||
В начало страницы | ||||
Ray | Сообщение #78 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
vovaz02h писал(a): Исходя из строки DeltaOldWorld_days = CurrentDate - 06/01/1973 Глевное - получить значение DeltaOldWorld_days равное разнице в днях старого мира (которые по 24 часа) между "текущей" (той, которая переводится в дату Новой Земли) и датой "первого дня Новой Земли". (В PHP по моему как-то делалось) Это-то без проблем. | |||
В начало страницы | ||||
Kail Itorr | Сообщение #79 | |||
Автор Регистрация: 26.04.2012 Сообщений: 11696 Откуда: Киев, Украина Имя: Кайл Иторр |
Ray писал(a): Kail Itorr писал(a): NewWorldMon = ( (Delta - (NewWorldYear-1)*NWYear) mod NWMon) + 1 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 | Сообщение #80 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
а div - деление без остатка? | |||
В начало страницы | ||||
Ray | Сообщение #81 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
И дай пример с расчетами по этой формуле, чтобы мне отладить сразу скрипт и проверить. В виде - формула - подставленные значения - результат. например, рассчитываем дату 22.08.2012 | |||
В начало страницы | ||||
Kail Itorr | Сообщение #82 | |||
Автор Регистрация: 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 | Сообщение #83 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
Цитата: NWDay = 1812 NWMon = 72480 NWYear = 797280 DeltaOldWorldDays = 14473 Это как рассчитано? что такое k в последней формуле? | |||
В начало страницы | ||||
lvbnhbq | Сообщение #84 | |||
Писатель Регистрация: 21.03.2012 Сообщений: 10823 Откуда: Донецк Имя: Дмитрий Ефименко |
Ray писал(a): что такое k в последней формуле? Если я правильно понял - день первый. | |||
В начало страницы | ||||
Kail Itorr | Сообщение #85 | |||
Автор Регистрация: 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 | Сообщение #86 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
lvbnhbq писал(a): Если я правильно понял - день первый. Тогда почему просто 1 не написать? | |||
В начало страницы | ||||
Ray | Сообщение #87 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
Я чот туплю, но не понимаю, куда подставлять данные из исходной даты? 22/08/2012 13:00 | |||
В начало страницы | ||||
lvbnhbq | Сообщение #88 | |||
Писатель Регистрация: 21.03.2012 Сообщений: 10823 Откуда: Донецк Имя: Дмитрий Ефименко |
Ray писал(a): Тогда почему просто 1 не написать? Похоже, Kail Itorr просто вставил формулу из сообщения № 73. Там же и рассчитано k. :pardon: | |||
В начало страницы | ||||
lvbnhbq | Сообщение #89 | |||
Писатель Регистрация: 21.03.2012 Сообщений: 10823 Откуда: Донецк Имя: Дмитрий Ефименко |
Ray писал(a): Я чот туплю, но не понимаю, куда подставлять данные из исходной даты? 22/08/2012 13:00 См. сообщение № 75. | |||
В начало страницы | ||||
Kail Itorr | Сообщение #90 | |||
Автор Регистрация: 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 | Сообщение #91 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
OWDay что такое? Как считается? | |||
В начало страницы | ||||
vovaz02h | Сообщение #92 | |||
технонанонекрофил - милитарист Регистрация: 21.03.2012 Сообщений: 4707 Откуда: З нашого боку порєбріка. Имя: Владимир |
судя по логике - номер дня в году старого календаря | |||
В начало страницы | ||||
Ray | Сообщение #93 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
по математике: mod - целочисленное деление? т.е. 5 mod 2 = 2 ? div - ??? с примером лучше бы... | |||
В начало страницы | ||||
Ray | Сообщение #94 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
vovaz02h писал(a): судя по логике - номер дня в году старого календаря это как? и какой это даты день? | |||
В начало страницы | ||||
vovaz02h | Сообщение #95 | |||
технонанонекрофил - милитарист Регистрация: 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 | Сообщение #96 | |||
Автор Регистрация: 26.04.2012 Сообщений: 11696 Откуда: Киев, Украина Имя: Кайл Иторр |
OWDay - продолжительность староземельного дня в минутах. 24*60 = 1440. Константа. По Диву-Моду уже усе сказали, Див - целочисленное деление, Мод - остаток от целочисленного деления на. | |||
В начало страницы | ||||
Ray | Сообщение #97 | |||
Site Admin Регистрация: 12.01.2012 Сообщений: 17314 Откуда: Ярославль Имя: Андрей |
Календарик | |||
В начало страницы | ||||
vovaz02h | Сообщение #98 | |||
технонанонекрофил - милитарист Регистрация: 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 | Сообщение #99 | |||
Автор Регистрация: 26.04.2012 Сообщений: 11696 Откуда: Киев, Украина Имя: Кайл Иторр |
Дизайн отличный, а математика гле-то не сходится... ни с датой Ярцева, ни с вычисленной вручную моей. | |||
В начало страницы | ||||
Ray | Сообщение #100 | |||
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 |