Я нашел пару ошибок в вашем коде.
currDate.setDate(dat2.date+random)
setDate
устанавливает дату в месяце, а не произвольную дату во времени. Кроме того, вы хотите использовать dat2.time
, а не dat2.date
.
Должно быть
currDate.setTime(dat2.time+random)
Вот немного другая версия, которую вы можете попробовать. Я удалил вычисление MS_PER_DAY, так что вы можете добавить его обратно, если вам это нужно, но мне было проще посмотреть:
public function getRandomTimeBetweenDates(date1:Date, date2:Date):Number
{
return Math.round(Math.random() * (Math.abs(date2.time - date1.time)));
}
public function getRandomDate():Date {
var dat1:Date= new Date();
var dat2:Date = new Date(1989, 4, 16)
dat2.setTime(dat2.time + getRandomTimeBetweenDates(dat2,dat1));
return dat2;
}