diff options
| author | cyanos3 <[email protected]> | 2013-11-05 21:26:06 -0700 |
|---|---|---|
| committer | cyanos3 <[email protected]> | 2013-11-05 21:26:06 -0700 |
| commit | ff1c1942e5e1d46f00d8c87664909f88bde94d34 (patch) | |
| tree | 97416ee3b3f1eb171ac78f836d2ddbbfd76cf75a /lib/date.js | |
| parent | b4969720cc46cd2a95de1000538242f09f445770 (diff) | |
| download | faker-ff1c1942e5e1d46f00d8c87664909f88bde94d34.tar.xz faker-ff1c1942e5e1d46f00d8c87664909f88bde94d34.zip | |
Add Date functionality: past, future, recent, between
Includes build
Diffstat (limited to 'lib/date.js')
| -rw-r--r-- | lib/date.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/date.js b/lib/date.js new file mode 100644 index 00000000..795e674e --- /dev/null +++ b/lib/date.js @@ -0,0 +1,42 @@ +var Faker = require('../index'); + +var date = { + + past: function (years, refDate) { + var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); + + var past = date.getTime(); + past -= Faker.random.number(years) * 365 * 3600 * 1000; // some time from now to N years ago, in milliseconds + date.setTime(past) + + return date.toJSON(); + }, + + future: function (years, refDate) { + var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); + var future = date.getTime(); + future += Faker.random.number(years) * 365 * 3600 * 1000; // some time from now to N years later, in milliseconds + date.setTime(future) + + return date.toJSON(); + }, + + between: function(from, to) { + var fromMilli = Date.parse(from); + var dateOffset = Faker.random.number(Date.parse(to) - fromMilli); + + var newDate = new Date(fromMilli + dateOffset); + + return newDate.toJSON(); + }, + + recent: function (days) { + var date = new Date(); + var future = date.getTime(); + future -= Faker.random.number(days) * 3600 * 1000; // some time from now to N days ago, in milliseconds + date.setTime(future) + + return date.toJSON(); + } +}; +module.exports = date; |
