-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrandomCore.js
73 lines (61 loc) · 1.5 KB
/
randomCore.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Get a random date between two dates
function randomDate(minDate, maxDate)
{
// Start with today's date
var ranDate = new Date();
var minMonth = minDate.getMonth();
var minDay = minDate.getDate();
var minYear = minDate.getFullYear();
var maxMonth = maxDate.getMonth();
var maxDay = maxDate.getDate();
var maxYear = maxDate.getFullYear();
var ranYear = randomNumberBetwixt(minYear, maxYear);
var ranMonth;
var ranDay;
if (ranYear == minYear)
{
ranMonth = randomNumberBetwixt(minMonth, 11);
}
else if (ranYear == maxYear)
{
ranMonth = randomNumberBetwixt(0, maxMonth);
}
else
{
ranMonth = randomNumberBetwixt(0, 11);
}
// Figure out number of days in selected month
var ranMonthDayCount = 32 - new Date(ranYear, ranMonth, 32).getDate();
if (ranYear == minYear
&& ranMonth == minMonth)
{
ranDay = randomNumberBetwixt(minDay, ranMonthDayCount);
}
else if (ranYear == maxYear
&& ranMonth == maxMonth)
{
ranDay = randomNumberBetwixt(1, maxDay);
}
else
{
ranDay = randomNumberBetwixt(1, ranMonthDayCount);
}
// ...
ranDate.setFullYear(ranYear);
ranDate.setMonth(ranMonth);
ranDate.setDate(ranDay);
//alert(ranDate.toString());
return ranDate;
}
// Random number in range (inclusive)
function randomNumberBetwixt(minNumber, maxNumber) // maybe fail?
{
var wildcard = Math.random() * (maxNumber - minNumber);
wildcard = Math.round(minNumber + wildcard);
return wildcard;
}
// Get random ordinal
function randomness()
{
return (Math.round(Math.random()) - 0.5);
}