С наступающим 🙂
В общем, недавно нужно было написать одну программку и как раз в ней требовалась генерация случайных, а точнее, псевдослучайных дат и времени. Что из этого вышло — смотрите в полной новости 🙂
Генерация даты (разделитель «-«, если что — смените на нужный Вам):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function TForm1.RandomRangeDate(y1,m1,d1,y2,m2,d2: integer): string; var dt1, dt2, dtRandom : TDateTime; Diapazon : integer; y, m, d: word; begin Randomize; dt1:=EncodeDate(y1, m1, d1); dt2:=EncodeDate(y2, m2, d2); Diapazon:=trunc(dt2) - trunc(dt1) + 1; dtRandom:=dt1 + random(Diapazon); DecodeDate(dtRandom,y,m,d); result:=IntToStr(y)+'-'+IntToStr(m)+'-'+IntToStr(d); end; |
Генерация времени (нужно подключить в uses модуль DateUtils):
1 2 3 4 5 6 7 |
function TForm1.RandomRangeTime(RangeStart, RangeEnd : TTime) : TTime; const DateTimeSecond = 1/(24*60*60); begin randomize; result:=RangeStart + Random(1+SecondsBetween(RangeStart, RangeEnd))*DateTimeSecond; end; |