PDA

Просмотр полной версии : Работа с датой



Кирилл
27.02.2008, 16:41
Нужно добавить к дате несколько дней. Есть ли какиенить стандартные функции для вычитания и добавления некоего промежутка времени к переменной типа DATE???

Дмитрий Артюховский
28.02.2008, 09:56
Создаешь 2 структуры типа дата. В оду считываешь текущую, а втророй присваиваешь значение текущей + 2 дня

sys_time.ulHigh := 0;
sys_time.ulLow := 0;
cur_time.Day := 0;
cur_time.DayOfWeek :=0;
cur_time.dwHighMsec := 0;
cur_time.dwLowMSecs := 0;
cur_time.Hour := 0;
cur_time.Milliseconds := 0;
cur_time.Minute := 0;
cur_time.Month := 0;
cur_time.Second := 0;
cur_time.Year := 0;
get_time( SystemTime := sys_time, TimeDate := cur_time );

new_time.Day := cur_time.Day + 2;

(* да! надо еще проверку будет сделать на переполнение месяца ! *)

Игорь Петров
28.02.2008, 11:27
Например, так (на ST):

dMyDate : DATE; (*дата*)
iN : INT := -2; (*сдвиг в днях, тут минус 2 дня*)

dMyDate := DWORD_TO_DATE((DATE_TO_DWORD(dMyDate) + iN*86400));