• вопрос бида-бида Никак не могу сформировать как мне определить какой по порядковому номеру сегодняшний день? Вот берем 1-е января — это первый день года, верно? Как вот из таких данных: как то что год високосный/невисокосный, то что 1 января — это первый день года, определить каким днем года будет сегодняшнее число?

Replies (17)

  • @Shatika, день года = сумма дней в закончившихся месяцах + число текущего месяца + високосный (если високосный, то да, то переменная 1, если не високосный, то переменная 0)
  • @NoName00, хорошо, теперь мне остается только подсчитать количество закончившихся месяцев... (допетрить бы еще как!)
  • @Shatika, Блин, номер месяца в дате минус один. Там можно селектом сделать. Определяем високосный ли год сначала. Потом
    селект монф фром:
    1: день в году = день в месяце
    2: день в году = 31 + день в месяце
    3: день в году = 31 + 28 + високосный + день в месяце
    и так далее
  • @NoName00, я не помню какие года високосные, но там можно вытянуть из номера года целочисленным делением значение. Високосный год — каждый 4-ый. Могу соврать, но високосные 2012, 2008, 2004, 2016 года
    Тогда:
    если (номер года mod 4 = 0) то пВисокосный = 1, иначе пВисокосный = 0.
    Надо конечно по синтаксису языка смотреть, как там переменные задаются, в кавычках али без и с типами данных смотреть, но примерно так.
  • @NoName00, про високосность я вчера сделала, там не сложно. а вот с днем в году... О_О
  • @NoName00, хотя я бы сначала просмотрела список базовых функций языка, если речь об 1ске, там скорее всего есть базовая функция определения порядкого номера дня в году.
  • @Shatika, тогда начинай с алгоритмов — рисовать на бумажке
    задачу сначала надо разбить на базовые элементы и понять как ее решать, а потом уже код писать
  • @NoName00, Нарисовала и разбиваю, вот и спрашиваю...
  • @Shatika, это у меня только половинка задачи. мне тащемта надо определить сколько дней осталось до НГ. :)
  • @Shatika, тогда тут есть подвох
  • @Shatika, ну. сначала надо взять вообще количество дней в году и отнять столько дней сколько прошло с начала года.
  • @Shatika, а можно просто в лоб посчитать количество дней до конца года
  • @NoName00, и как жеж?
  • @Shatika,
    если (номер года mod 4 = 0) то пВисокосный = 1, иначе пВисокосный = 0
    выбрать номер месяца из списка:
    1. КДДНГ = 365 + пВисокосный — ТДМ (текущий день месяца) ;
    2. КДДНГ = (365 — 31) + пВИсокосный — ТДМ;
    3. КДДНГ = (365-31-28) — ТДМ;
    4. КДДНГ = (365-31-28-31) — ТДМ;
    и так далее
    Здесь в марте и последующих месяцах нам уже фиолетово високосный год или нет, у нас один фиг будет прибавляться единичка к високосному и отниматься лишний день в феврале. Разницы в скосбках можно просуммировать зараннее и вписать константы в селект.
  • @NoName00, что, еще больше запутала тебя?
  • @Shatika, В 1С ТекущаяДата() — НачГода(ТекущаяДата()) — время, прошедшее с начала года
    В 7.7 к этому нужно добавить 1, чтоб учесть день начала года, а в 8.х получившиеся секунды поделить на 60*60*24
  • @alkov, :) спасибо. Я уже вчера нашла и сделала.