aboutsummaryrefslogtreecommitdiff
path: root/node_modules/time-stamp/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/time-stamp/index.js')
-rw-r--r--node_modules/time-stamp/index.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/node_modules/time-stamp/index.js b/node_modules/time-stamp/index.js
new file mode 100644
index 000000000..1a400adc1
--- /dev/null
+++ b/node_modules/time-stamp/index.js
@@ -0,0 +1,47 @@
+/*!
+ * time-stamp <https://github.com/jonschlinkert/time-stamp>
+ *
+ * Copyright (c) 2015, Jon Schlinkert.
+ * Licensed under the MIT License.
+ */
+
+'use strict';
+
+/**
+ * Parse the given pattern and return a formatted
+ * timestamp.
+ *
+ * @param {String} `pattern` Date pattern.
+ * @param {Date} `date` Date object.
+ * @return {String}
+ */
+
+module.exports = function timestamp(pattern, date) {
+ if (typeof pattern !== 'string') {
+ date = pattern;
+ pattern = 'YYYY:MM:DD';
+ }
+ 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;
+ });
+};
+
+function method(key) {
+ 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]
+ })[key];
+}