Как получить вчерашнюю дату?
Как получить вчерашнюю дату?
Можно ли с помощью макроса получить вчерашнюю дату?
Сегодняшнюю я получаю так: $Date "%d%m0%y"
Для чего это мне нужно:
С появившейся возможностью раскрашивать файлы по дате хотелось бы "красить" вчерашние файлы определённым цветом. Сейчас я написал макропоследовательность (F9 р ф Enter б $Date "%d%m0%y" Enter Esc) по нажатию на заданную мной комбинацию в диалоговое окно проставляется текущая дата и сегодняшние файлы "красятся" нужным мне образом. Как сделать тоже самое, но чтобы дата была не сегодняшняя, а к примеру вчерашняя?
Или может кто подскажет более красивое решение данной проблемы. Потому как каждый раз при запуске far приходится нажимать эту комбинацию клавиш (ну или при первом запуске комбинацию, а потом сохранить настройки). В идеале конечно же было бы сразу править реестр при загрузке компа в "красящем" фильтре, но там формат даты мне пока мне непонятен.
Ветка в реестре примерно тут
HKEY_CURRENT_USER\Software\Far\Colors\Highlight\Group0
параметр
DateAfter"=hex:00,c8,15,8d,20,6f,c7,01 (это 26.03.2007 00:00:00)
Сегодняшнюю я получаю так: $Date "%d%m0%y"
Для чего это мне нужно:
С появившейся возможностью раскрашивать файлы по дате хотелось бы "красить" вчерашние файлы определённым цветом. Сейчас я написал макропоследовательность (F9 р ф Enter б $Date "%d%m0%y" Enter Esc) по нажатию на заданную мной комбинацию в диалоговое окно проставляется текущая дата и сегодняшние файлы "красятся" нужным мне образом. Как сделать тоже самое, но чтобы дата была не сегодняшняя, а к примеру вчерашняя?
Или может кто подскажет более красивое решение данной проблемы. Потому как каждый раз при запуске far приходится нажимать эту комбинацию клавиш (ну или при первом запуске комбинацию, а потом сохранить настройки). В идеале конечно же было бы сразу править реестр при загрузке компа в "красящем" фильтре, но там формат даты мне пока мне непонятен.
Ветка в реестре примерно тут
HKEY_CURRENT_USER\Software\Far\Colors\Highlight\Group0
параметр
DateAfter"=hex:00,c8,15,8d,20,6f,c7,01 (это 26.03.2007 00:00:00)
А можно поподробнее как мне использовать эту функцию? Формат комманды $Date понятен. Но опыта написания макросов похоже у меня недостаточно. Покажите плз как мне написать искомое выражение и вставить не сегодняшнее (27.03.2007), а вчерашнее (26.03.2007) число в нужное поле ввода?Skirda wrote:см. функцию date()
daf, начни вот с такого:
А дальше все просто.
или подобным образом...
Идея в том, чтобы разложить дату на запчасти, вычисть, проверить, скорректировать и... собрать обратно.
Code: Select all
%d=date("%d");
%m=date("%m");
%y=date("%Y");
Code: Select all
%d=%d-1;
$if (%d < 1)
%m=%m-1
....
$end
Идея в том, чтобы разложить дату на запчасти, вычисть, проверить, скорректировать и... собрать обратно.
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
- Вадим Захаренко
- Posts: 922
- Joined: Fri 18 Mar, 2005 08:59
- Location: Беларусь, Мозырь
- Has thanked: 7 times
- Contact:
А вот это уже интересно. Что нить типа date2int и int2dateJlblC wrote:тогда уж 64-битовой тип данных наподобие TFileTime
И... в panelitem добавить для propIndex индексы 15, 16 и 17, аналогичные 3, 4 и 5, но в представлении __int64.