• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Количество Дней.

  • Автор темы Antigo
  • Дата начала
A

Antigo

Всем привет!
суть вопроса такова:
при открытии документа мне нужно выводить окошко, в котором бы выводилось число дней, которые остались до закрытия документа. Это количество вычисляется так: от текущей даты отнимаем дату создания документа, и если разница меньше 10 дней, например 9, то при открытии выводить окошко "Внимание, до закрытия документа осталось 9 дней", если 8 дней, то окошко с 8 днями. Как тут можно попроще реализовать это? кроме как через TimeDifference, вычисляя разницу в секундах есть еще какие-то варианты?
Спасибо
 

savl

Lotus Team
28.10.2011
2 606
313
BIT
246
разница всегда в секундах.

Что-то мне подсказывает, что вот это неверно: от текущей даты отнимаем дату создания документа
Первые 9-10 дней фраза будет постоянно появляться.

Можно сделать ход конем:
1. Берем нужную дату из документа
2. Увеличиваем/уменьшаем её на нужное количество дней
3. Сравниваем с текущей.
4. ?????
5. PROFIT!!!

или наоборот:
1. Берем сегодняшнюю дату
2. Увеличиваем/уменьшаем её на нужное количество дней
3. Сравниваем с датой из документа.
4. ?????
5. PROFIT!!!
 
O

Omh

Можно оперировать не разницей в секундах.

То, что тебе надо, проще всего сделать так:
Код:
Days = Fix(Now - doc.Created)
Получишь кол-во дней.
Инфа 100%

Вообще, каждая дата это Double, в котором целая часть - оффсет от начала времён (день номер 1 это 31.12.1899)
А дробная часть - оффсет от начала дня.

Итого:
Дата 2,5 - это ничто иное, как 01.01.1900 12:00:00
Дата 500,125 - это ничто иное, как 14.05.1901 3:00:00
А сегодня, а момент написания поста - 41781,5455671296

Так что с датами можно спокойно оперировать как с числами.
PROFIT!!!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!