time-stamp
Advanced tools
Comparing version 1.0.1 to 1.1.0
49
index.js
/*! | ||
* time-stamp <https://github.com/jonschlinkert/time-stamp> | ||
* | ||
* Copyright (c) 2015, Jon Schlinkert. | ||
* Licensed under the MIT License. | ||
* Copyright (c) 2015-2017, Jon Schlinkert. | ||
* Released under the MIT License. | ||
*/ | ||
@@ -19,3 +19,3 @@ | ||
module.exports = function timestamp(pattern, date) { | ||
module.exports = function(pattern, date) { | ||
if (typeof pattern !== 'string') { | ||
@@ -25,11 +25,20 @@ date = pattern; | ||
} | ||
date = date || new Date(); | ||
return pattern.replace(/([YMDHms]{2,4})(:\/)?/g, function(_, key, sep) { | ||
var increment = method(key); | ||
if (!increment) return _; | ||
sep = sep || ''; | ||
var res = '00' + String(date[increment[0]]() + (increment[2] || 0)); | ||
return res.slice(-increment[1]) + sep; | ||
}); | ||
if (!date) date = new Date(); | ||
function timestamp() { | ||
var regex = /(?=(YYYY|YY|MM|DD|HH|mm|ss|ms))\1([:\/]*)/; | ||
var match = regex.exec(pattern); | ||
if (match) { | ||
var increment = method(match[1]); | ||
var val = '00' + String(date[increment[0]]() + (increment[2] || 0)); | ||
var res = val.slice(-increment[1]) + (match[2] || ''); | ||
pattern = pattern.replace(match[0], res); | ||
timestamp(); | ||
} | ||
} | ||
timestamp(pattern); | ||
return pattern; | ||
}; | ||
@@ -39,12 +48,12 @@ | ||
return ({ | ||
YYYY: ['getFullYear', 4], | ||
YY: ['getFullYear', 2], | ||
// getMonth is zero-based, thus the extra increment field | ||
MM: ['getMonth', 2, 1], | ||
DD: ['getDate', 2], | ||
HH: ['getHours', 2], | ||
mm: ['getMinutes', 2], | ||
ss: ['getSeconds', 2], | ||
ms: ['getMilliseconds', 3] | ||
YYYY: ['getFullYear', 4], | ||
YY: ['getFullYear', 2], | ||
// getMonth is zero-based, thus the extra increment field | ||
MM: ['getMonth', 2, 1], | ||
DD: ['getDate', 2], | ||
HH: ['getHours', 2], | ||
mm: ['getMinutes', 2], | ||
ss: ['getSeconds', 2], | ||
ms: ['getMilliseconds', 3] | ||
})[key]; | ||
} |
{ | ||
"name": "time-stamp", | ||
"description": "Get a formatted timestamp.", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"homepage": "https://github.com/jonschlinkert/time-stamp", | ||
"author": "Jon Schlinkert (https://github.com/jonschlinkert)", | ||
"contributors": [ | ||
"Daniel Stockman (http://evocateur.org)", | ||
"Drew (https://github.com/mendenhallmagic)", | ||
"Jon Schlinkert (http://twitter.com/jonschlinkert)" | ||
], | ||
"repository": "jonschlinkert/time-stamp", | ||
@@ -23,5 +28,5 @@ "bugs": { | ||
"devDependencies": { | ||
"gulp-format-md": "^0.1.7", | ||
"mocha": "^2.4.5", | ||
"pad-left": "^2.0.3" | ||
"gulp-format-md": "^0.1.12", | ||
"mocha": "^3.4.1", | ||
"pad-left": "^2.1.0" | ||
}, | ||
@@ -50,2 +55,5 @@ "keywords": [ | ||
], | ||
"helpers": { | ||
"timestamp": "./index.js" | ||
}, | ||
"related": { | ||
@@ -52,0 +60,0 @@ "list": [ |
103
README.md
@@ -1,2 +0,2 @@ | ||
# time-stamp [![NPM version](https://img.shields.io/npm/v/time-stamp.svg?style=flat)](https://www.npmjs.com/package/time-stamp) [![NPM downloads](https://img.shields.io/npm/dm/time-stamp.svg?style=flat)](https://npmjs.org/package/time-stamp) [![Build Status](https://img.shields.io/travis/jonschlinkert/time-stamp.svg?style=flat)](https://travis-ci.org/jonschlinkert/time-stamp) | ||
# time-stamp [![NPM version](https://img.shields.io/npm/v/time-stamp.svg?style=flat)](https://www.npmjs.com/package/time-stamp) [![NPM monthly downloads](https://img.shields.io/npm/dm/time-stamp.svg?style=flat)](https://npmjs.org/package/time-stamp) [![NPM total downloads](https://img.shields.io/npm/dt/time-stamp.svg?style=flat)](https://npmjs.org/package/time-stamp) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/time-stamp.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/time-stamp) | ||
@@ -10,3 +10,3 @@ > Get a formatted timestamp. | ||
```sh | ||
$ npm install time-stamp --save | ||
$ npm install --save time-stamp | ||
``` | ||
@@ -20,36 +20,45 @@ | ||
timestamp(); | ||
//=> '2015:04:01' | ||
//=> 2017:05:14 | ||
timestamp('YYYYMMDD'); | ||
//=> 20170514 | ||
timestamp('YYYYMMDD:ss'); | ||
//=> 20170514:26 | ||
timestamp('YYYY/MM/DD:mm:ss'); | ||
//=> 2017/05/14:52:26 | ||
timestamp('YYYY:MM:DD'); | ||
//=> '2015:04:01' | ||
//=> 2017:05:14 | ||
timestamp('[YYYY:MM:DD]'); | ||
//=> '[2015:04:01]' | ||
//=> [2017:05:14] | ||
timestamp('YYYY/MM/DD'); | ||
//=> '2015/04/01' | ||
//=> 2017/05/14 | ||
timestamp('YYYY:MM'); | ||
//=> '2015:04' | ||
//=> 2017:05 | ||
timestamp('YYYY'); | ||
//=> '2015' | ||
//=> 2017 | ||
timestamp('MM'); | ||
//=> '04' | ||
//=> 05 | ||
timestamp('DD'); | ||
//=> '01' | ||
//=> 14 | ||
timestamp('HH'); | ||
//=> '01' | ||
//=> 20 | ||
timestamp('mm'); | ||
//=> '59' | ||
//=> 52 | ||
timestamp('ss'); | ||
//=> '09' | ||
//=> 26 | ||
timestamp('ms'); | ||
//=> '783' | ||
//=> 481 | ||
``` | ||
@@ -59,3 +68,3 @@ | ||
* `YYYY`: full year (ex: **2015**) | ||
* `YYYY`: full year (ex: **2017**) | ||
* `MM`: month (ex: **04**) | ||
@@ -68,58 +77,60 @@ * `DD`: day (ex: **01**) | ||
## Related projects | ||
## About | ||
You might also be interested in these projects: | ||
### Related projects | ||
* [days](https://www.npmjs.com/package/days): Days of the week. | [homepage](https://github.com/jonschlinkert/days) | ||
* [iso-week](https://www.npmjs.com/package/iso-week): Get the ISO week of the year. | [homepage](https://github.com/jonschlinkert/iso-week) | ||
* [month](https://www.npmjs.com/package/month): Get the name or number of the current month or any month of the year. | [homepage](https://github.com/datetime/month) | ||
* [months](https://www.npmjs.com/package/months): Months of the year. | [homepage](https://github.com/jonschlinkert/months) | ||
* [o-clock](https://www.npmjs.com/package/o-clock): Simple utility for displaying the time in 12-hour clock format. | [homepage](https://github.com/jonschlinkert/o-clock) | ||
* [seconds](https://www.npmjs.com/package/seconds): Get the number of seconds for a minute, hour, day and week. | [homepage](https://github.com/jonschlinkert/seconds) | ||
* [week](https://www.npmjs.com/package/week): Get the current week number. | [homepage](https://github.com/jonschlinkert/week) | ||
* [weekday](https://www.npmjs.com/package/weekday): Get the name and number of the current weekday. Or get the name of the… [more](https://www.npmjs.com/package/weekday) | [homepage](https://github.com/jonschlinkert/weekday) | ||
* [year](https://www.npmjs.com/package/year): Simple utility to get the current year with 2 or 4 digits. | [homepage](https://github.com/jonschlinkert/year) | ||
* [days](https://www.npmjs.com/package/days): Days of the week. | [homepage](https://github.com/jonschlinkert/days "Days of the week.") | ||
* [iso-week](https://www.npmjs.com/package/iso-week): Get the ISO week of the year. | [homepage](https://github.com/jonschlinkert/iso-week "Get the ISO week of the year.") | ||
* [month](https://www.npmjs.com/package/month): Get the name or number of the current month or any month of the year. | [homepage](https://github.com/datetime/month "Get the name or number of the current month or any month of the year.") | ||
* [months](https://www.npmjs.com/package/months): Months of the year. | [homepage](https://github.com/jonschlinkert/months "Months of the year.") | ||
* [o-clock](https://www.npmjs.com/package/o-clock): Simple javascript utility for displaying the time in 12-hour clock format. | [homepage](https://github.com/jonschlinkert/o-clock "Simple javascript utility for displaying the time in 12-hour clock format.") | ||
* [seconds](https://www.npmjs.com/package/seconds): Get the number of seconds for a minute, hour, day and week. | [homepage](https://github.com/jonschlinkert/seconds "Get the number of seconds for a minute, hour, day and week.") | ||
* [week](https://www.npmjs.com/package/week): Get the current week number. | [homepage](https://github.com/datetime/week "Get the current week number.") | ||
* [weekday](https://www.npmjs.com/package/weekday): Get the name and number of the current weekday. Or get the name of the… [more](https://github.com/datetime/weekday) | [homepage](https://github.com/datetime/weekday "Get the name and number of the current weekday. Or get the name of the weekday for a given number.") | ||
* [year](https://www.npmjs.com/package/year): Simple utility to get the current year with 2 or 4 digits. | [homepage](https://github.com/jonschlinkert/year "Simple utility to get the current year with 2 or 4 digits.") | ||
## Contributing | ||
### Contributing | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/time-stamp/issues/new). | ||
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). | ||
## Building docs | ||
### Contributors | ||
Generate readme and API documentation with [verb](https://github.com/verbose/verb): | ||
| **Commits** | **Contributor** | | ||
| --- | --- | | ||
| 21 | [jonschlinkert](https://github.com/jonschlinkert) | | ||
| 1 | [evocateur](https://github.com/evocateur) | | ||
| 1 | [mendenhallmagic](https://github.com/mendenhallmagic) | | ||
```sh | ||
$ npm install verb && npm run docs | ||
``` | ||
### Building docs | ||
Or, if [verb](https://github.com/verbose/verb) is installed globally: | ||
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ | ||
To generate the readme, run the following command: | ||
```sh | ||
$ verb | ||
$ npm install -g verbose/verb#dev verb-generate-readme && verb | ||
``` | ||
## Running tests | ||
### Running tests | ||
Install dev dependencies: | ||
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: | ||
```sh | ||
$ npm install -d && npm test | ||
$ npm install && npm test | ||
``` | ||
## Author | ||
### Author | ||
**Jon Schlinkert** | ||
Follow me on GitHub or Twitter for updates about time-stamp and my other libraries: | ||
* [github/jonschlinkert](https://github.com/jonschlinkert) | ||
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
* [twitter/jonschlinkert](https://twitter.com/jonschlinkert) | ||
## License | ||
### License | ||
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT license](https://github.com/jonschlinkert/time-stamp/blob/master/LICENSE). | ||
Copyright © 2017, [Jon Schlinkert](https://github.com/jonschlinkert). | ||
Released under the [MIT License](LICENSE). | ||
*** | ||
_This file was generated by [verb](https://github.com/verbose/verb), v, on April 07, 2016._ | ||
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on May 14, 2017._ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8577
48
132