Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм вычисления Даты / 10 сообщений из 10, страница 1 из 1
15.01.2013, 13:07
    #38110556
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
Задача: надо из числа получить дату.
Формула: 2013.01 = 2013*12+1 = 24157
То есть как из Даты получить число я знаю, а вот наоборот: из числа дату ???

Пример:
Приходит число "24157"
Надо получить дату вида "01.2013"

Заранее спасибо за любую подсказку!
...
Рейтинг: 0 / 0
15.01.2013, 13:55
    #38110667
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
24157 / 12 = 2013 (округляем) лет от рожд. Христова.

24157 остаток от деления на 12 даст число месяцев.

И с богом...
...
Рейтинг: 0 / 0
15.01.2013, 14:33
    #38110734
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
Или так:
День = MOD(24157, 12);
Год = (Число - День)/12
...
Рейтинг: 0 / 0
15.01.2013, 14:37
    #38110740
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
potkinИли так:
День = MOD(24157, 12);
Год = (Число - День)/12
Для того чтобы посчитать целую часть от результата деления
не нужно привлекать сторонние операции типа вычисления остатка.
Это избыток. А вот для расчёта остатка - да! Используется деление
и умножение.
...
Рейтинг: 0 / 0
15.01.2013, 15:01
    #38110777
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
В принципе Вы правы.
Но, это только одна задачка, там еще есть несколько, которые с MOD легче решаются ...
...
Рейтинг: 0 / 0
15.01.2013, 15:15
    #38110820
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
Для твоей задачи - пофиг. Можешь находить целое от деления разными извращёнными
способами. Но самый простой способ всегда есть в твоём API который ты ленишся
почитать.

P.S. Кстати операция MOD является краеугольным камнем криптографии и криптоанализа.
Именно ее принципиальная несократимость является естественным тормозом на пути
любых атак или криптоанализов при поиске ключей к шифрам. Не забывай это.
...
Рейтинг: 0 / 0
15.01.2013, 17:08
    #38111073
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
potkin Задача: надо из числа получить дату.
Формула: 2013.01 = 2013*12+1 = 24157
То есть как из Даты получить число я знаю, а вот наоборот: из числа дату ???

Пример:
Приходит число "24157"
Надо получить дату вида "01.2013"

Заранее спасибо за любую подсказку!

Тебе только месяцчы интересны или даты?
Поправку на высокосные года учитываешь?
Тогда все формулы - Бред.
Учи матчасть.
...
Рейтинг: 0 / 0
15.01.2013, 18:45
    #38111257
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
Его формула суть - маппинг YYYY.MM в Количество_Месяцев . При такой
постановке - не бред. Нормальная себе формула.
Другое дело что у нее нет перспектив.
...
Рейтинг: 0 / 0
16.01.2013, 01:48
    #38111580
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
C
#include <time.h>
struct tm *localtime(const time_t *timep);
time_t mktime(struct tm *tm);

struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};

The mktime() function modifies the fields of the tm structure as fol‐
lows: tm_wday and tm_yday are set to values determined from the con‐
tents of the other fields; if structure members are outside their valid
interval, they will be normalized (so that, for example, 40 October is
changed into 9 November); tm_isdst is set (regardless of its initial
value) to a positive value or to 0, respectively, to indicate whether
DST is or is not in effect at the specified time. Calling mktime()
also sets the external variable tzname with information about the cur‐
rent timezone.
...
Рейтинг: 0 / 0
16.01.2013, 10:32
    #38111743
Khod
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм вычисления Даты
maytonЕго формула суть - маппинг YYYY.MM в Количество_Месяцев . При такой
постановке - не бред. Нормальная себе формула.
Другое дело что у нее нет перспектив.

Но количество месяцев в таком маппинге не является датой.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм вычисления Даты / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]