diff options
| author | Ronen Babayoff <[email protected]> | 2015-08-23 21:57:46 -0400 |
|---|---|---|
| committer | Ronen Babayoff <[email protected]> | 2015-08-23 21:57:46 -0400 |
| commit | 66996e280c9fbbbc2e7db376549f568be32ad5cd (patch) | |
| tree | e93f412c4bceeb7ed0376e26113c9d31522af8b4 /lib/date.js | |
| parent | cf0bd70d5fca9c0169414f5d2c16ca32431a3fd9 (diff) | |
| parent | d8f8108ac5dbec7e2b7ea9a23dd19aa42255e3fb (diff) | |
| download | faker-66996e280c9fbbbc2e7db376549f568be32ad5cd.tar.xz faker-66996e280c9fbbbc2e7db376549f568be32ad5cd.zip | |
Merge v3.0.1 into practicalmeteor:faker package branch
Diffstat (limited to 'lib/date.js')
| -rw-r--r-- | lib/date.js | 118 |
1 files changed, 76 insertions, 42 deletions
diff --git a/lib/date.js b/lib/date.js index afe9fdc9..2c53a4e4 100644 --- a/lib/date.js +++ b/lib/date.js @@ -1,56 +1,90 @@ -var faker = require("../index"); +var _Date = function (faker) { + var self = this; + self.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 date = { + var past = date.getTime(); + past -= faker.random.number(range); // some time from now to N years ago, in milliseconds + date.setTime(past); - 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 - }; + return date; + }; - var past = date.getTime(); - past -= faker.random.number(range); // some time from now to N years ago, in milliseconds - date.setTime(past); + self.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 + }; - return date; - }, + var future = date.getTime(); + future += faker.random.number(range); // some time from now to N years later, in milliseconds + date.setTime(future); - 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 - }; + return date; + }; - var future = date.getTime(); - future += faker.random.number(range); // some time from now to N years later, in milliseconds - date.setTime(future); + self.between = function (from, to) { + var fromMilli = Date.parse(from); + var dateOffset = faker.random.number(Date.parse(to) - fromMilli); - return date; - }, + var newDate = new Date(fromMilli + dateOffset); - between: function (from, to) { - var fromMilli = Date.parse(from); - var dateOffset = faker.random.number(Date.parse(to) - fromMilli); + return newDate; + }; - var newDate = new Date(fromMilli + dateOffset); + self.recent = function (days) { + var date = new Date(); + var range = { + min: 1000, + max: (days || 1) * 24 * 3600 * 1000 + }; - return newDate; - }, + var future = date.getTime(); + future -= faker.random.number(range); // some time from now to N days ago, in milliseconds + date.setTime(future); - recent: function (days) { - var date = new Date(); - var range = { - min: 1000, - max: (days || 1) * 24 * 3600 * 1000 - }; + return date; + }; - var future = date.getTime(); - future -= faker.random.number(range); // some time from now to N days ago, in milliseconds - date.setTime(future); + self.month = function (options) { + options = options || {}; - return date; - } + var type = 'wide'; + if (options.abbr) { + type = 'abbr'; + } + if (options.context && typeof faker.definitions.date.month[type + '_context'] !== 'undefined') { + type += '_context'; + } + + var source = faker.definitions.date.month[type]; + + return faker.random.arrayElement(source); + }; + + self.weekday = function (options) { + options = options || {}; + + var type = 'wide'; + if (options.abbr) { + type = 'abbr'; + } + if (options.context && typeof faker.definitions.date.weekday[type + '_context'] !== 'undefined') { + type += '_context'; + } + + var source = faker.definitions.date.weekday[type]; + + return faker.random.arrayElement(source); + }; + + return self; + }; -module.exports = date; + +module['exports'] = _Date;
\ No newline at end of file |
