moment-parseformat
Advanced tools
Comparing version 0.0.9 to 0.0.10
{ | ||
"name": "moment-parseformat", | ||
"version": "0.0.9", | ||
"version": "0.0.10", | ||
"authors": [ | ||
@@ -25,3 +25,4 @@ "Gregor Martynus <gregor@martynus.net>" | ||
"bootstrap": "~3.1.0", | ||
"bootstrap-editable-table": "~0.1.0" | ||
"bootstrap-editable-table": "~0.1.0", | ||
"qunit": "~1.14.0" | ||
}, | ||
@@ -28,0 +29,0 @@ "dependencies": { |
@@ -31,8 +31,5 @@ 'use strict'; | ||
var regexFirstSecondThirdFourth = /(\d+)(st|nd|rd|th)\b/i; | ||
var regexBigEndianLong = /(\d{4})\-(\d{1,2})\-(\d{1,2})/; | ||
var regexBigEndianShort = /(\d{2})\-(\d{1,2})\-(\d{1,2})/; | ||
var regexLittleEndianLong = /(\d{1,2})\.(\d{1,2})\.(\d{4})/; | ||
var regexLittleEndianShort = /(\d{1,2})\.(\d{1,2})\.(\d{2})/; | ||
var regexMiddleEndianLong = /(\d{1,2})\/(\d{1,2})\/(\d{4})/; | ||
var regexMiddleEndianShort = /(\d{1,2})\/(\d{1,2})\/(\d{2})/; | ||
var regexBigEndian = /(\d{2,4})\-(\d{1,2})\-(\d{1,2})/; | ||
var regexLittleEndian = /(\d{1,2})\.(\d{1,2})\.(\d{2,4})/; | ||
var regexMiddleEndian = /(\d{1,2})\/(\d{1,2})\/(\d{2,4})/; | ||
@@ -80,12 +77,9 @@ var amOrPm = '('+[amDesignator,pmDesignator].join('|')+')'; | ||
// 03-04-05 ☛ yy- | ||
format = format.replace( regexBigEndianLong, 'YYYY-MM-DD'); | ||
format = format.replace( regexBigEndianShort, 'YY-MM-DD'); | ||
format = format.replace( regexBigEndian, replaceBigEndian); | ||
// Little-endian (day, month, year), e.g. 05.04.03 | ||
format = format.replace(regexLittleEndianLong, 'DD.MM.YYYY'); | ||
format = format.replace(regexLittleEndianShort, 'DD.MM.YY'); | ||
format = format.replace(regexLittleEndian, replaceLittleEndian); | ||
// Middle-endian (month, day, year), e.g. 04/05/03 | ||
format = format.replace( regexMiddleEndianLong, 'MM/DD/YYYY'); | ||
format = format.replace( regexMiddleEndianShort, 'MM/DD/YY'); | ||
format = format.replace( regexMiddleEndian, replaceMiddleEndian); | ||
@@ -121,3 +115,58 @@ // TIME | ||
// 2014-01-01 → YYYY-MM-DD | ||
// 14-01-01 → YY-MM-DD | ||
// 14-1-1 → YY-M-D | ||
// 2014-1-1 → YYYY-M-D | ||
function replaceBigEndian (_, year, month, day) { | ||
return replaceDayMonthYearNr({ | ||
day: day, | ||
month: month, | ||
year: year | ||
}, ['year', 'month','day'], '-'); | ||
} | ||
// 01.01.2014 → DD.MM.YYYY | ||
// 01.01.14 → DD.MM.YY | ||
// 1.1.14 → D.M.YY | ||
// 1.1.2014 → D.M.YYYY | ||
function replaceLittleEndian (_, day, month, year) { | ||
return replaceDayMonthYearNr({ | ||
day: day, | ||
month: month, | ||
year: year | ||
}, ['day','month','year'], '.'); | ||
} | ||
// 01/01/2014 → DD/MM/YYYY | ||
// 01/01/14 → DD/MM/YY | ||
// 1/1/14 → D/M/YY | ||
// 1/1/2014 → D/M/YYYY | ||
function replaceMiddleEndian (_, month, day, year) { | ||
return replaceDayMonthYearNr({ | ||
day: day, | ||
month: month, | ||
year: year | ||
}, ['month','day','year'], '/'); | ||
} | ||
// | ||
// Replaces year to YYYY or YY, depending on length of match. | ||
// Replacing day/month with one or two format (D or DD, M or MM), | ||
// depending on whether on of the matches has a lenght of 1 | ||
// | ||
function replaceDayMonthYearNr (parts, order, separator) { | ||
parts.year = (parts.year.length === 2) ? 'YY' : 'YYYY'; | ||
if (Math.min(parts.day.length, parts.month.length) === 1) { | ||
parts.day = 'D'; | ||
parts.month = 'M'; | ||
} else { | ||
parts.day = 'DD'; | ||
parts.month = 'MM'; | ||
} | ||
return order.map(function(name) { | ||
return parts[name]; | ||
}).join(separator); | ||
} | ||
return parseDateFormat; | ||
}); |
{ | ||
"name": "moment-parseformat", | ||
"version": "0.0.9", | ||
"version": "0.0.10", | ||
"description": "A moment.js plugin to extract the format of a date/time string", | ||
@@ -26,3 +26,9 @@ "main": "moment.parseFormat.js", | ||
"moment": "git://github.com/moment/moment.git#d3da8f7b504aee57fe610e1aa103c1702a7f945e" | ||
}, | ||
"devDependencies": { | ||
"grunt": "~0.4.2", | ||
"grunt-contrib-qunit": "~0.4.0", | ||
"grunt-contrib-watch": "~0.5.3", | ||
"grunt-bump": "0.0.13" | ||
} | ||
} |
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
2969668
207
44267
4