diff options
| author | Daniel Perez Alvarez <[email protected]> | 2014-11-12 08:43:23 +0000 |
|---|---|---|
| committer | Daniel Perez Alvarez <[email protected]> | 2014-11-12 08:43:23 +0000 |
| commit | ba482f10bed1a4e34cf1941bb5728d0a029822a4 (patch) | |
| tree | 8ee41919fd2bad1348f95c64b2dd7a91e1617221 /lib | |
| parent | c109b4873aa794965d37bda10dbacc51e2073bc8 (diff) | |
| download | faker-ba482f10bed1a4e34cf1941bb5728d0a029822a4.tar.xz faker-ba482f10bed1a4e34cf1941bb5728d0a029822a4.zip | |
Have past, future and recent return random dates
Functions `past` and `future` only returned dates EXACTLY N YEARS before
or after the reference date. Function `recent` only returned dates
EXACTLY N DAYS before the reference date.
For example, `faker.date.past(1)` would return either *Nov 12, 2014*, or
*Nov 12, 2013*, but nothing in-between.
Also, now you can call those functions without parameter, and N will
take the default value of `1`.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/date.js | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lib/date.js b/lib/date.js index 01d505eb..afe9fdc9 100644 --- a/lib/date.js +++ b/lib/date.js @@ -4,9 +4,13 @@ var date = { past: function (years, refDate) { var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); + var range = { + min: 1000, + max: (years || 1) * 365 * 24 * 3600 * 1000 + }; var past = date.getTime(); - past -= faker.random.number(years) * 365 * 24 * 3600 * 1000; // some time from now to N years ago, in milliseconds + past -= faker.random.number(range); // some time from now to N years ago, in milliseconds date.setTime(past); return date; @@ -14,8 +18,13 @@ var date = { future: function (years, refDate) { var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); + var range = { + min: 1000, + max: (years || 1) * 365 * 24 * 3600 * 1000 + }; + var future = date.getTime(); - future += faker.random.number(years) * 365 * 3600 * 1000 + 1000; // some time from now to N years later, in milliseconds + future += faker.random.number(range); // some time from now to N years later, in milliseconds date.setTime(future); return date; @@ -32,8 +41,13 @@ var date = { recent: function (days) { var date = new Date(); + var range = { + min: 1000, + max: (days || 1) * 24 * 3600 * 1000 + }; + var future = date.getTime(); - future -= faker.random.number(days) * 24 * 60 * 60 * 1000; // some time from now to N days ago, in milliseconds + future -= faker.random.number(range); // some time from now to N days ago, in milliseconds date.setTime(future); return date; |
