From: Tim Wood Date: Thu, 3 May 2012 17:02:19 +0000 (-0700) Subject: Shaving bytes for #302 X-Git-Tag: 1.6.2^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cf37a14b883faf78a0a95a1639f69c6ec70a68d;p=thirdparty%2Fmoment.git Shaving bytes for #302 --- diff --git a/min/moment.min.js b/min/moment.min.js index 653ed3bfa..f17ff1934 100644 --- a/min/moment.min.js +++ b/min/moment.min.js @@ -3,4 +3,4 @@ // author : Tim Wood // license : MIT // momentjs.com -(function(a,b){function C(a,b){this._d=a,this._isUTC=!!b}function D(a){return a<0?Math.ceil(a):Math.floor(a)}function E(a){var b=this._data={},c=a.years||a.y||0,d=a.months||a.M||0,e=a.weeks||a.w||0,f=a.days||a.d||0,g=a.hours||a.h||0,h=a.minutes||a.m||0,i=a.seconds||a.s||0,j=a.milliseconds||a.ms||0;this._milliseconds=j+i*1e3+h*6e4+g*36e5,this._days=f+e*7,this._months=d+c*12,b.milliseconds=j%1e3,i+=D(j/1e3),b.seconds=i%60,h+=D(i/60),b.minutes=h%60,g+=D(h/60),b.hours=g%24,f+=D(g/24),f+=e*7,b.days=f%30,d+=D(f/30),b.months=d%12,c+=D(d/12),b.years=c}function F(a,b){var c=a+"";while(c.length11?"pm":"am";case"A":return p?p(i,j,!0):i>11?"PM":"AM";case"H":return i;case"HH":return F(i,2);case"h":return i%12||12;case"hh":return F(i%12||12,2);case"m":return j;case"mm":return F(j,2);case"s":return k;case"ss":return F(k,2);case"S":return~~(m/100);case"SS":return F(~~(m/10),2);case"SSS":return F(m,3);case"Z":return(n<0?"-":"+")+F(~~(Math.abs(n)/60),2)+":"+F(~~(Math.abs(n)%60),2);case"ZZ":return(n<0?"-":"+")+F(~~(10*Math.abs(n)/6),4);case"L":case"LL":case"LLL":case"LLLL":case"LT":return J(b,c.longDateFormat[d]);default:return d.replace(/(^\[)|(\\)|\]$/g,"")}}var e=b.month(),f=b.date(),g=b.year(),h=b.day(),i=b.hours(),j=b.minutes(),k=b.seconds(),m=b.milliseconds(),n=-b.zone(),o=c.ordinal,p=c.meridiem;return d.replace(l,q)}function K(a){switch(a){case"S":return n;case"SS":return q;case"SSS":case"DDDD":return r;case"YYYY":return s;case"DDD":return p;case"MMM":case"MMMM":case"ddd":case"dddd":case"a":case"A":return t;case"Z":case"ZZ":return u;case"T":return v;case"MM":case"DD":case"dd":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return o;default:return new RegExp(a.replace("\\",""))}}function L(a,b,d,e){var f;switch(a){case"M":case"MM":d[1]=b==null?0:~~b-1;break;case"MMM":case"MMMM":for(f=0;f<12;f++)if(c.monthsParse[f].test(b)){d[1]=f;break}break;case"D":case"DD":case"DDD":case"DDDD":d[2]=~~b;break;case"YY":b=~~b,d[0]=b+(b>70?1900:2e3);break;case"YYYY":d[0]=~~Math.abs(b);break;case"a":case"A":e.isPm=(b+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":d[3]=~~b;break;case"m":case"mm":d[4]=~~b;break;case"s":case"ss":d[5]=~~b;break;case"S":d[6]=~~b*100;break;case"SS":d[6]=~~b*10;break;case"SSS":d[6]=~~b;break;case"Z":case"ZZ":e.isUTC=!0,f=(b+"").match(z),f&&f[1]&&(e.tzh=~~f[1]),f&&f[2]&&(e.tzm=~~f[2]),f&&f[0]==="+"&&(e.tzh=-e.tzh,e.tzm=-e.tzm)}}function M(b,c){var d=[0,0,1,0,0,0,0],e={tzh:0,tzm:0},f=c.match(l),g,h;for(g=0;g0,Q.apply({},i)}function S(a,b){c.fn[a]=function(a){var c=this._isUTC?"UTC":"";return a!=null?(this._d["set"+c+b](a),this):this._d["get"+c+b]()}}function T(a){c.duration.fn[a]=function(){return this._data[a]}}function U(a,b){c.duration.fn["as"+a]=function(){return+this/b}}var c,d="1.6.1",e=Math.round,f,g={},h="en",i=typeof module!="undefined",j="months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),k=/^\/?Date\((\-?\d+)/i,l=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g,m=/([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,n=/\d/,o=/\d\d?/,p=/\d{1,3}/,q=/\d\d/,r=/\d{3}/,s=/\d{4}/,t=/[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i,u=/Z|[\+\-]\d\d:?\d\d/i,v=/T/i,w=/^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,x="YYYY-MM-DDTHH:mm:ssZ",y=[["HH:mm:ss.SSS",/T\d\d:\d\d:\d\d\.\d\d\d/],["HH:mm:ss.SS",/T\d\d:\d\d:\d\d\.\d\d/],["HH:mm:ss.S",/T\d\d:\d\d:\d\d\.\d/],["HH:mm:ss",/T\d\d:\d\d:\d\d/],["HH:mm",/T\d\d:\d\d/],["HH",/T\d\d/]],z=/([\+\-]|\d\d)/gi,A="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),B={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6};c=function(d,e){if(d===null||d==="")return null;var f,g,h;return c.isMoment(d)?(f=new a(+d._d),h=d._isUTC):e?H(e)?f=O(d,e):f=M(d,e):(g=k.exec(d),f=d===b?new a:g?new a(+g[1]):d instanceof a?d:H(d)?I(d):typeof d=="string"?P(d):new a(d)),new C(f,h)},c.utc=function(b,d){return H(b)?new C(new a(a.UTC.apply({},b)),!0):d&&b?c(b+" +0000",d+" Z").utc():c(b&&!u.exec(b)?b+"+0000":b).utc()},c.unix=function(a){return c(a*1e3)},c.duration=function(a,b){var d=c.isDuration(a),e=typeof a=="number",f=d?a._data:e?{}:a;return e&&(b?f[b]=a:f.milliseconds=a),new E(f)},c.humanizeDuration=function(a,b,d){return c.duration(a,b===!0?null:b).humanize(b===!0?!0:d)},c.version=d,c.defaultFormat=x,c.lang=function(a,b){var d,e,f=[];if(!a)return h;if(b){for(d=0;d<12;d++)f[d]=new RegExp("^"+b.months[d]+"|^"+b.monthsShort[d].replace(".",""),"i");b.monthsParse=b.monthsParse||f,g[a]=b}if(g[a]){for(d=0;d11?"pm":"am";case"A":return p?p(i,j,!0):i>11?"PM":"AM";case"H":return i;case"HH":return D(i,2);case"h":return i%12||12;case"hh":return D(i%12||12,2);case"m":return j;case"mm":return D(j,2);case"s":return k;case"ss":return D(k,2);case"S":return~~(m/100);case"SS":return D(~~(m/10),2);case"SSS":return D(m,3);case"Z":return(n<0?"-":"+")+D(~~(Math.abs(n)/60),2)+":"+D(~~(Math.abs(n)%60),2);case"ZZ":return(n<0?"-":"+")+D(~~(10*Math.abs(n)/6),4);case"L":case"LL":case"LLL":case"LLLL":case"LT":return H(b,c.longDateFormat[d]);default:return d.replace(/(^\[)|(\\)|\]$/g,"")}}var e=b.month(),f=b.date(),g=b.year(),h=b.day(),i=b.hours(),j=b.minutes(),k=b.seconds(),m=b.milliseconds(),n=-b.zone(),o=c.ordinal,p=c.meridiem;return d.replace(l,q)}function I(a){switch(a){case"DDDD":return p;case"YYYY":return q;case"S":case"SS":case"SSS":case"DDD":return o;case"MMM":case"MMMM":case"ddd":case"dddd":case"a":case"A":return r;case"Z":case"ZZ":return s;case"T":return t;case"MM":case"DD":case"dd":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return n;default:return new RegExp(a.replace("\\",""))}}function J(a,b,d,e){var f;switch(a){case"M":case"MM":d[1]=b==null?0:~~b-1;break;case"MMM":case"MMMM":for(f=0;f<12;f++)if(c.monthsParse[f].test(b)){d[1]=f;break}break;case"D":case"DD":case"DDD":case"DDDD":d[2]=~~b;break;case"YY":b=~~b,d[0]=b+(b>70?1900:2e3);break;case"YYYY":d[0]=~~Math.abs(b);break;case"a":case"A":e.isPm=(b+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":d[3]=~~b;break;case"m":case"mm":d[4]=~~b;break;case"s":case"ss":d[5]=~~b;break;case"S":case"SS":case"SSS":d[6]=~~(("0."+b)*1e3);break;case"Z":case"ZZ":e.isUTC=!0,f=(b+"").match(x),f&&f[1]&&(e.tzh=~~f[1]),f&&f[2]&&(e.tzm=~~f[2]),f&&f[0]==="+"&&(e.tzh=-e.tzh,e.tzm=-e.tzm)}}function K(b,c){var d=[0,0,1,0,0,0,0],e={tzh:0,tzm:0},f=c.match(l),g,h;for(g=0;g0,O.apply({},i)}function Q(a,b){c.fn[a]=function(a){var c=this._isUTC?"UTC":"";return a!=null?(this._d["set"+c+b](a),this):this._d["get"+c+b]()}}function R(a){c.duration.fn[a]=function(){return this._data[a]}}function S(a,b){c.duration.fn["as"+a]=function(){return+this/b}}var c,d="1.6.1",e=Math.round,f,g={},h="en",i=typeof module!="undefined",j="months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"),k=/^\/?Date\((\-?\d+)/i,l=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g,m=/([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,n=/\d\d?/,o=/\d{1,3}/,p=/\d{3}/,q=/\d{4}/,r=/[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i,s=/Z|[\+\-]\d\d:?\d\d/i,t=/T/i,u=/^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,v="YYYY-MM-DDTHH:mm:ssZ",w=[["HH:mm:ss.S",/T\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/T\d\d:\d\d:\d\d/],["HH:mm",/T\d\d:\d\d/],["HH",/T\d\d/]],x=/([\+\-]|\d\d)/gi,y="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),z={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6};c=function(d,e){if(d===null||d==="")return null;var f,g,h;return c.isMoment(d)?(f=new a(+d._d),h=d._isUTC):e?F(e)?f=M(d,e):f=K(d,e):(g=k.exec(d),f=d===b?new a:g?new a(+g[1]):d instanceof a?d:F(d)?G(d):typeof d=="string"?N(d):new a(d)),new A(f,h)},c.utc=function(b,d){return F(b)?new A(new a(a.UTC.apply({},b)),!0):d&&b?c(b+" +0000",d+" Z").utc():c(b&&!s.exec(b)?b+"+0000":b).utc()},c.unix=function(a){return c(a*1e3)},c.duration=function(a,b){var d=c.isDuration(a),e=typeof a=="number",f=d?a._data:e?{}:a;return e&&(b?f[b]=a:f.milliseconds=a),new C(f)},c.humanizeDuration=function(a,b,d){return c.duration(a,b===!0?null:b).humanize(b===!0?!0:d)},c.version=d,c.defaultFormat=v,c.lang=function(a,b){var d,e,f=[];if(!a)return h;if(b){for(d=0;d<12;d++)f[d]=new RegExp("^"+b.months[d]+"|^"+b.monthsShort[d].replace(".",""),"i");b.monthsParse=b.monthsParse||f,g[a]=b}if(g[a]){for(d=0;d 0, Q.apply({}, i); + return i[2] = b, i[3] = a > 0, O.apply({}, i); } - function S(a, b) { + function Q(a, b) { c.fn[a] = function(a) { var c = this._isUTC ? "UTC" : ""; return a != null ? (this._d["set" + c + b](a), this) : this._d["get" + c + b](); }; } - function T(a) { + function R(a) { c.duration.fn[a] = function() { return this._data[a]; }; } - function U(a, b) { + function S(a, b) { c.duration.fn["as" + a] = function() { return +this / b; }; } - var c, d = "1.6.1", e = Math.round, f, g = {}, h = "en", i = typeof module != "undefined", j = "months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"), k = /^\/?Date\((\-?\d+)/i, l = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g, m = /([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi, n = /\d/, o = /\d\d?/, p = /\d{1,3}/, q = /\d\d/, r = /\d{3}/, s = /\d{4}/, t = /[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i, u = /Z|[\+\-]\d\d:?\d\d/i, v = /T/i, w = /^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/, x = "YYYY-MM-DDTHH:mm:ssZ", y = [ [ "HH:mm:ss.SSS", /T\d\d:\d\d:\d\d\.\d\d\d/ ], [ "HH:mm:ss.SS", /T\d\d:\d\d:\d\d\.\d\d/ ], [ "HH:mm:ss.S", /T\d\d:\d\d:\d\d\.\d/ ], [ "HH:mm:ss", /T\d\d:\d\d:\d\d/ ], [ "HH:mm", /T\d\d:\d\d/ ], [ "HH", /T\d\d/ ] ], z = /([\+\-]|\d\d)/gi, A = "Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"), B = { + var c, d = "1.6.1", e = Math.round, f, g = {}, h = "en", i = typeof module != "undefined", j = "months|monthsShort|monthsParse|weekdays|weekdaysShort|longDateFormat|calendar|relativeTime|ordinal|meridiem".split("|"), k = /^\/?Date\((\-?\d+)/i, l = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|dddd?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|LT|LL?L?L?)/g, m = /([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi, n = /\d\d?/, o = /\d{1,3}/, p = /\d{3}/, q = /\d{4}/, r = /[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i, s = /Z|[\+\-]\d\d:?\d\d/i, t = /T/i, u = /^\s*\d{4}-\d\d-\d\d(T(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/, v = "YYYY-MM-DDTHH:mm:ssZ", w = [ [ "HH:mm:ss.S", /T\d\d:\d\d:\d\d\.\d{1,3}/ ], [ "HH:mm:ss", /T\d\d:\d\d:\d\d/ ], [ "HH:mm", /T\d\d:\d\d/ ], [ "HH", /T\d\d/ ] ], x = /([\+\-]|\d\d)/gi, y = "Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"), z = { Milliseconds: 1, Seconds: 1e3, Minutes: 6e4, @@ -284,17 +278,17 @@ c = function(d, e) { if (d === null || d === "") return null; var f, g, h; - return c.isMoment(d) ? (f = new a(+d._d), h = d._isUTC) : e ? H(e) ? f = O(d, e) : f = M(d, e) : (g = k.exec(d), f = d === b ? new a : g ? new a(+g[1]) : d instanceof a ? d : H(d) ? I(d) : typeof d == "string" ? P(d) : new a(d)), new C(f, h); + return c.isMoment(d) ? (f = new a(+d._d), h = d._isUTC) : e ? F(e) ? f = M(d, e) : f = K(d, e) : (g = k.exec(d), f = d === b ? new a : g ? new a(+g[1]) : d instanceof a ? d : F(d) ? G(d) : typeof d == "string" ? N(d) : new a(d)), new A(f, h); }, c.utc = function(b, d) { - return H(b) ? new C(new a(a.UTC.apply({}, b)), !0) : d && b ? c(b + " +0000", d + " Z").utc() : c(b && !u.exec(b) ? b + "+0000" : b).utc(); + return F(b) ? new A(new a(a.UTC.apply({}, b)), !0) : d && b ? c(b + " +0000", d + " Z").utc() : c(b && !s.exec(b) ? b + "+0000" : b).utc(); }, c.unix = function(a) { return c(a * 1e3); }, c.duration = function(a, b) { var d = c.isDuration(a), e = typeof a == "number", f = d ? a._data : e ? {} : a; - return e && (b ? f[b] = a : f.milliseconds = a), new E(f); + return e && (b ? f[b] = a : f.milliseconds = a), new C(f); }, c.humanizeDuration = function(a, b, d) { return c.duration(a, b === !0 ? null : b).humanize(b === !0 ? !0 : d); - }, c.version = d, c.defaultFormat = x, c.lang = function(a, b) { + }, c.version = d, c.defaultFormat = v, c.lang = function(a, b) { var d, e, f = []; if (!a) return h; if (b) { @@ -346,10 +340,10 @@ return ~~(a % 100 / 10) === 1 ? "th" : b === 1 ? "st" : b === 2 ? "nd" : b === 3 ? "rd" : "th"; } }), c.isMoment = function(a) { - return a instanceof C; + return a instanceof A; }, c.isDuration = function(a) { - return a instanceof E; - }, c.fn = C.prototype = { + return a instanceof C; + }, c.fn = A.prototype = { clone: function() { return c(this); }, @@ -372,15 +366,15 @@ return this._isUTC = !1, this; }, format: function(a) { - return J(this, a ? a : c.defaultFormat); + return H(this, a ? a : c.defaultFormat); }, add: function(a, b) { var d = b ? c.duration(+b, a) : c.duration(a); - return G(this, d, 1), this; + return E(this, d, 1), this; }, subtract: function(a, b) { var d = b ? c.duration(+b, a) : c.duration(a); - return G(this, d, -1), this; + return E(this, d, -1), this; }, diff: function(a, b, d) { var f = this._isUTC ? c(a).utc() : c(a).local(), g = (this.zone() - f.zone()) * 6e4, h = this._d - f._d - g, i = this.year() - f.year(), j = this.month() - f.month(), k = this.date() - f.date(), l; @@ -425,21 +419,21 @@ return this.clone().month(this.month() + 1).date(0).date(); } }; - for (f = 0; f < A.length; f++) S(A[f].toLowerCase(), A[f]); - S("year", "FullYear"), c.duration.fn = E.prototype = { + for (f = 0; f < y.length; f++) Q(y[f].toLowerCase(), y[f]); + Q("year", "FullYear"), c.duration.fn = C.prototype = { weeks: function() { - return D(this.days() / 7); + return B(this.days() / 7); }, valueOf: function() { return this._milliseconds + this._days * 864e5 + this._months * 2592e6; }, humanize: function(a) { - var b = +this, d = c.relativeTime, e = R(b, !a); + var b = +this, d = c.relativeTime, e = P(b, !a); return a && (e = (b <= 0 ? d.past : d.future).replace(/%s/i, e)), e; } }; - for (f in B) B.hasOwnProperty(f) && (U(f, B[f]), T(f.toLowerCase())); - U("Weeks", 6048e5), i && (module.exports = c), typeof window != "undefined" && typeof ender == "undefined" && (window.moment = c), typeof define == "function" && define.amd && define("moment", [], function() { + for (f in z) z.hasOwnProperty(f) && (S(f, z[f]), R(f.toLowerCase())); + S("Weeks", 6048e5), i && (module.exports = c), typeof window != "undefined" && typeof ender == "undefined" && (window.moment = c), typeof define == "function" && define.amd && define("moment", [], function() { return c; }); })(Date); \ No newline at end of file diff --git a/moment.js b/moment.js index fcb6eb67d..ba54b17a3 100644 --- a/moment.js +++ b/moment.js @@ -29,10 +29,8 @@ parseMultipleFormatChunker = /([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi, // parsing token regexes - parseTokenOneDigit = /\d/, // 0 - 9 parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99 parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999 - parseTokenTwoDigits = /\d\d/, // 00 - 99 parseTokenThreeDigits = /\d{3}/, // 000 - 999 parseTokenFourDigits = /\d{4}/, // 0000 - 9999 parseTokenWord = /[0-9a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+/i, // any word characters or numbers @@ -46,9 +44,7 @@ // iso time formats and regexes isoTimes = [ - ['HH:mm:ss.SSS', /T\d\d:\d\d:\d\d\.\d\d\d/], - ['HH:mm:ss.SS', /T\d\d:\d\d:\d\d\.\d\d/], - ['HH:mm:ss.S', /T\d\d:\d\d:\d\d\.\d/], + ['HH:mm:ss.S', /T\d\d:\d\d:\d\d\.\d{1,3}/], ['HH:mm:ss', /T\d\d:\d\d:\d\d/], ['HH:mm', /T\d\d:\d\d/], ['HH', /T\d\d/] @@ -309,15 +305,13 @@ // get the regex to find the next token function getParseRegexForToken(token) { switch (token) { - case 'S': - return parseTokenOneDigit; - case 'SS': - return parseTokenTwoDigits; - case 'SSS': case 'DDDD': return parseTokenThreeDigits; case 'YYYY': return parseTokenFourDigits; + case 'S': + case 'SS': + case 'SSS': case 'DDD': return parseTokenOneToThreeDigits; case 'MMM': @@ -411,13 +405,9 @@ break; // MILLISECOND case 'S' : - datePartArray[6] = ~~input * 100; - break; case 'SS' : - datePartArray[6] = ~~input * 10; - break; case 'SSS' : - datePartArray[6] = ~~input; + datePartArray[6] = ~~ (('0.' + input) * 1000); break; // TIMEZONE case 'Z' : // fall through to ZZ @@ -509,7 +499,7 @@ var format = 'YYYY-MM-DDT', i; if (isoRegex.exec(string)) { - for (i = 0; i < 6; i++) { + for (i = 0; i < 4; i++) { if (isoTimes[i][1].exec(string)) { format += isoTimes[i][0]; break;